Свернуть в CPLEX - PullRequest
       39

Свернуть в CPLEX

0 голосов
/ 22 сентября 2019

Я использую OPL в CPLEX 12.9

Моя проблема - проблема минимизации.Можно ли только минимизировать сумму чего-либо?

минимизировать сумму (p в продуктах, t в T) (MaschineCost [p] [t] + BuyProduct [t]);

ограничения MachineCost и BuyProduct зависят от различных логических значений dvar.Что делает CPLEX, это установить стоимость BuyProducts равной нулю, чтобы минимизировать общие затраты.Но я хочу найти наиболее экономически эффективную комбинацию двух ограничений в каждый период времени t

1 Ответ

0 голосов
/ 30 сентября 2019

Вы можете минимизировать любое линейное или квадратичное выражение с помощью CPLEX.Вы даже можете минимизировать такие вещи, как min () или max ().

Вы говорите, что BuyProduct установлен на ноль, и это неожиданно.В этом случае вы должны проверить свою модель и данные.Видимо, ваша модель / данные позволяют решения, которые не ожидаются.Вы также можете добавить ограничение типа BuyProduct[t] >= 1, чтобы заставить переменную получить значение, отличное от 0. Затем проверьте полученный результат и выясните, почему это решение не оптимально.

Когда вы говорите «вкаждый период времени ", тогда я не уверен, что вы намерены делать: вы хотите оптимизировать каждый период индивидуально?Тогда вам придется решать несколько моделей: по одной на каждый период (это можно легко сделать с помощью сценариев).Или вы хотите минимизировать максимум MaschineCost[p][t] + BuyProduct[t] за все периоды?

...