这是上下文:
我正在制作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> 1,2,3或1,2,5或1,3,4或1,4,5我们的目标是最大化利润。
我已经针对此问题的上下文完成了.dat和.mod文件的所有建模。我需要有关.mod文件中的约束和变量的帮助。即“&#39;遵守&#39;
如何将此代码编写到AMPL上?
感谢。
答案 0 :(得分:1)
制作附加变量x:
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;