2017-01-17 4 views
1

Именно в этом контексте:AMPL Если-Тогда для утверждения линейного программирования

Я сделать 3 стула: A, B, C У меня 5 материалов: 1, 2, 3, 4, 5.

таблица выглядит следующим образом:

   A (kg)  B (kg)  C (kg)  Supply (kg) 
1    3   3.75  2.75  750 
2    1   1.25  1.75  425 
3    0.75  0.5   0.875  300 
4    0.75  1.5   1.375  424 
5    0.625  0.75  0.75  199 

вопрос заключается в том: я должен использовать материал 1 во всех креслах. У меня есть выбор между использованием: материала 2 и 4 & материала 3 и 5. Мне нужно использовать только один из них. Не оба.

Например: Возможные комбинации материалов являются:

1,2,3 или 1,2,5 или 1,3,4 или 1,4,5

Наша цель состоит в том, чтобы максимизировать прибыль.

Я сделал все моделирование в файлах .dat и .mod для контекста этого вопроса. Мне нужна помощь с ограничениями и переменными в файле .mod. то есть «Подлежит»

Как это сделать для AMPL?

Спасибо.

ответ

1

Сделать дополнительную переменную х:

var x{i in material, j in chair} binary; эту переменную, чтобы решить, какой материал, используемый в каждом кресле.

затем поставить дополнительное ограничение:

subject to constraint1{j in chair}: x[2,j]+x[4,j]=1;

subject to constraint2{j in chair}: x[3,j]+x[5,j]=1;

+0

Спасибо, это, кажется, сделали работу –

Смежные вопросы