2016-02-25 4 views
1

У меня есть модель с одним нулевым линейным программированием, когда я использую AMPL, я объявляю переменные как двоичный тип, но когда я его решил, мои результаты имеют много чисел, а не 0,1 ,Решение одно-нулевого линейного программирования AMPL

var X {1..7,1..21,1..4} двоичный; {Я думаю, что тип переменной: целочисленный, двоичный не выполняется в AMPL}

Когда я решил, мои результаты, такие как: X [1,5,6] = 0,55555. Это неправда, вы можете мне помочь.

ответ

0

Чтобы получить целочисленное решение, вы должны использовать решатель mixed-integer programming, такой как CPLEX или Gurobi. Решателем AMPL по умолчанию является MINOS, который ослабляет интегральность и выдает предупреждение, такое как:

MINOS 5.51: ignoring integrality of 10 variables