0—1型整数规划
例题:
lingo代码:
max=2*x1+5*x2+3*x3+4x4;
-4*x1+x2+x3+x4>=0;
-2*x1+4*x2+2*x3+4*x4>=1;
x1+x2-x3+x4>=1;
@bin(x1);@bin(x2);@bin(x3);@bin(x4);
运行结果:
最大值为12,x1=0,x2=x3=x4=1时取到
整数规划
例题
代码:
min=2*x1+5*x2+3*x3;
-4*x1-x2+x3>=0;
-2*x1+4*x2-2*x3>=2;
x1-x2+x3>=2;
@gin(x1);@gin(x2);@gin(x3);
运行结果:
即当x1=0,x2=3,x3=5时达到最小值为30
非线性规划问题求解
min=(x1-1)^2+(x2-2)^2;
x2-x1=1;
x1+x2<=2;
注意lingo里面默认变量大于0,因此最后一个条件的代码可以不写
即当x1=0.5,x1=1.5时,函数值最小
注:
例:
代码:
min=(x+2)^2+(y-2)^2;
@free(x);@free(x2);
即当x等于负二,y等于2时取到最小值****0
逻辑运算符
lingo里面内置的数学函数
指派问题
解答:
代码:
min=8*x11+6*x12+10*x13+9*x21+12*x22+7*x23+7*x31+4*x32+3*x33;
x11+x12+x13=1;x21+x22+x23=1;x31+x32+x33=1;
x11+x21+x31=1;x12+x22+x32=1;x13+x23+x33=1;
@bin(x);
这里把@bin(x);改为@bin(9);也可以
即甲做B任务,乙做A任务,丙做C任务