проблема осуществимости в CPLEX - PullRequest
2 голосов
/ 20 сентября 2011

Существует ли API для решения проблемы осуществимости (существует ли допустимая точка) для набора выпуклых ограничений в CPLEX.

Ответы [ 3 ]

2 голосов
/ 20 сентября 2011

Да, просто не вводите целевую функцию. cplex предоставит вам любое решение, которое сможет найти, или докажет, что решения не существует.

var x;
var y;
minimize 1;

subject to con1:
  x + y <= 6;
  x + y >= 7;
1 голос
/ 20 сентября 2011

Вы можете просто добавить слабину ко всем ограничениям и поместить только переменные слабины в функцию стоимости со стоимостью 1. Затем проверьте, найдет ли Cplex решение со стоимостью 0.

0 голосов
/ 08 августа 2012

Простой способ - добавить пустую целевую функцию.например, если вы используете концерт для .net, то с помощью AddMinimize () или AddMaximize () без входных параметров будет работать.Вы также можете заполнить столько выполнимых решений, сколько хотите, используя метод Populate ().

Также вы упомянули выпуклое ограничение.Я думаю, что cplex может обрабатывать такие функции, как log, но я думаю, что некоторые выпуклые функции находятся в какой-то странной форме, и я не уверен, что вы можете выразить их как выражение в модели cplex.

...