程序如下:(lingo)
model:
sets:
jh1/1..18/:;
jh2/1..7/:lamta;
jh3/1..6/:;
jj(jh1,jh2):c;
mm(jh1,jh2,jh3):x;
endsets
max=@sum(jh1(i):@sum(jh2(j):@sum(jh3(k):lamta(j)*c(i,j)*x(i,j,k))));
@for(jh3(k):
@sum(jh1(i):@sum(jh2(j):x(i,j,k)))=7);
@for(jh1(i):
@sum(jh3(k):@prod(jh2(j):(1-x(i,j,k))))>5);
@for(jh2(j):
@for(jh3(k):
@sum(jh1(i):x(i,j,k))<1));
@for(jh3(k):
@sum(jh1(i):@sum(jh2(j):1-x(i,j,k)))>15);
@for(mm:x>0);
@for(mm:x<1);
@sum(jh2:lamta)<1;这里对lamta约束不知道题目什么约束,你可以自己添上
@sum(jj:c)<1; 这里对c约束不知道题目什么约束,你可以自己添上
end
这个程序的约束比较多,所占内存比较大,已经超过lingo的最大限制,你可以找个好点版本试一试,我只能做这么多,至于matlab编辑这个问题非常复杂,对非线性规划也知道的不多!你试一试,有问题可以相互交流!