[数学建模]数学建模算法和模型(B站视频)(九)

版权声明:未经许可,请勿转载 https://blog.csdn.net/glpaichiyu/article/details/82813495

[数学建模]数学建模算法和模型(B站视频)(九)

非线性规划与01规划模型

非线性规划

在这里插入图片描述

lingo求解程序:

Model:
max=98*x1+277*x2-x1*x1-0.3*x1*x2-2*x2*x2;
x1+x2<100;
x1<=2*x2;
@gin(x1);  %gin表示求解整数
@gin(x2);
end

01规划模型

01规划模型定义

01规划是指未知量的取值范围只能是0,1的规划问题,通常是线性规划

01规划模型例子

设有A1、A2、A3、A4四个人完成B1、B2、B3、B4四项工作,每人只做一件工作且每件工作仅由一人担任,Ai完成工作Bj所需时间为Cij(i,j=1,2,3,4)(单位:天),如下表所示。
在这里插入图片描述
试问应指派哪个人去承担哪件工作,才能使总的花费时间最少?

这个问题与上述各例有所不同,上述各例所设的变量都是问题中所要求的数量,而这个例题中我们要引入的变量必须具有指定某人做某件工作,而其他人不能做该工作。数0、1就起到了这种作用,变量取1,说明该人做这件事,在总的花费时间中贡献时间,变量取0表示不做这件事,从而在总的花费时间中不作出贡献。

引入16个变量

xij=
1,当指派Ai承担工作Bj时;
0,当指派Ai不承担工作Bj时,

得线性规划模型如下
MinT=8x11+13x12+18x13+23x14
+10x21+14x22+16x23+27x24
+2x31+10x32+21x33+26x34
+14x41+22x42+26x43+28x44
由于每人只做一件工作,得
x11+x12+x13+x14=1
x21+x22+x23+x24=1
x31+x32+x33+x34=1
x41+x42+x43+x44=1
由于每件工作仅由一个担任,得
x11+x21+x31+x41=1
x12+x22+x32+x42=1
x13+x23+x33+x43=1
x14+x24+x34+x44=1

lingo程序求解:

Model:
Min=8*x11+13*x12+18*x13+23*x14+10*x21+14*x22+16*x23+27*x24+2*x31+10*x32+21*x33+26*x34+14*x41+22*x42+26*x43+28*x44;
x11+x12+x13+x14=1;
x21+x22+x23+x24=1;
x31+x32+x33+x34=1;
x41+x42+x43+x44=1;
x11+x21+x31+x41=1;
x12+x22+x32+x42=1;
x13+x23+x33+x43=1;
x14+x24+x34+x44=1;
end
int16

在这里插入图片描述
求解得x12=x23=x31=x44=1,其余xij=0,即A1承担工作B2,A2承担工作B3,A3承担工作B1,A4承担工作B4,花费的总时间最少为59天。

猜你喜欢

转载自blog.csdn.net/glpaichiyu/article/details/82813495