Целочисленный решатель против ExpressionsBasedModel.minimise()JAVA

Программисты JAVA общаются здесь
Anonymous
Целочисленный решатель против ExpressionsBasedModel.minimise()

Сообщение Anonymous »

Я пытаюсь реализовать целочисленный решатель, используя Ojalgo для данных временных рядов, только с ограничениями первого порядка и линейной целевой функцией первого порядка. Все мои переменные являются целыми числами. Я создаю экземпляр модели с помощью:

Код: Выделить всё

ExpressionsBasedModel model = new ExpressionsBasedModel();
for(DataObject obj : myData){
Variable var = model.createVariable(obj.identifierString).integer(true).lower(0).weight(obj.cost);
}
//Then expressions are sort of tree-like
for(DataObjectContainer cont : myContainers){
Expression expr = model.addExpression(cont.id).lower(cont.lower).upper(cont.upper);
expr.setLinearFactors(cont.dataObjectList, cont.dataObjectLoadList);
}
Затем я попробовал model.minimise(), но результат, который я получил от этой равномерно распределенной переменной, на самом деле не решил проблему. Я тоже не был уверен, как получить доступ к результатам. Я извлек переменные модели из model.getVariables(), а затем просто прочитал их с помощью var.getIntValue(). Я также пытался получить значения результатов по индексу, например result.get(i).
Каков канонический способ доступа к результатам и что такое model.minimise()< /code> достаточно для решения целочисленной модели?
Мои данные довольно простые, но их много. Существует два типа контейнеров, которые не перекрываются между одними и теми же типами, но два разных типа контейнеров могут иметь общие переменные в своих выражениях.
Я пытался получить целочисленное значение, которое минимизировало бы линейная целевая функция.

Подробнее здесь: https://stackoverflow.com/questions/788 ... l-minimise

Вернуться в «JAVA»