二、优化的基本模型
一、优化模型的相关信息
优化模型的三要素:
1.目标函数最优化——单一目标 多重目标问题如何处理?
2.实现目标的多种方法 若实现目标只有一种方法不存在规划问题。 3.生产条件的约束——资源是有限的 资源无限不存在规划问题。 优化模型的基本结构:
1.决策变量 ——未知数。它是通过模型计算来确定的决策因素。又分为实际变量——求解的变量和计算变量,计算变量又分松弛变量(上限)和人工变量(下限)。
2.目标函数——经济目标的数学表达式。目标函数是求变量的线性函数的极大值和极小值这样一个极值问题。
3.约束条件——实现经济目标的制约因素。它包括:生产资源的限制(客观约束条件)、生产数量、质量要求的限制(主观约束条件)、特定技术要求和非负限制。
二、产地与销售点之间的运输最优化模型
计算6个发点8个收点的最小费用运输问题。产销单位运价如下表。 单 位 销地 运 价 产地 A1 A2 A3 A4 A5 A6 销量 B1 B2 B3 B4 B5 B6 B7 B8 产量 6 4 5 7 2 5 35 2 9 2 6 3 5 37 6 5 1 7 9 2 22 7 3 9 3 5 2 32 4 8 7 9 7 8 41 2 5 4 2 2 1 32 5 8 3 7 6 4 43 9 2 3 1 5 3 38 60 55 51 43 41 52 根据上表可以都得到方程: 2.1模型的假设: xi,j表示从第i(i1,26)个产地到第j(j1,28)个销售点的运输量;
mi表示第i(i1,26)个产地的产量;
nj表示第j(j1,28)个销售点的销售量;
ci,j表示从第i(i1,26)个产地到第j(j1,28)个销售点的单位运价;
Maxxi,jci,j
i1j1682.2目标函数:
2.3约束条件:
8xi,jmij16 xni,jji1
1
利用使用LINGO软件求解,编制程序如下:
model:
!6发点8收点运输问题; sets:
warehouses/wh1..wh6/:capacity; vendors/v1..v8/:demand;
links(warehouses,vendors):cost,volume; endsets !目标函数;
min=@sum(links:cost*volume); !需求约束;
@for(vendors(J):
@sum(warehouses(I):volume(I,J))=demand(J)); !产量约束;
@for(warehouses(I):
@sum(vendors(J):volume(I,J))<=capacity(I));
!这里是数据; data:
capacity=60 55 51 43 41 52; demand=35 37 22 32 41 32 43 38; cost= 6 2 6 7 4 2 9 5
4 9 5 3 8 5 8 2 5 2 1 9 7 4 3 3 7 6 7 3 9 2 7 1 2 3 9 5 7 2 6 5 5 5 2 2 8 1 4 3; enddata end
然后点击工具条上的按钮 即可。
三、员工分配问题
有机器7台,工人师傅7人。但是一名工人师傅只能操作一台机器。现给出每个工人师傅操作每台机所需的时间。如下: 机器1 机器2 机器3 机器4 机器5 机器6 机器7 员工1 3 3 8 6 9 2 7 员工2 12 6 12 17 16 18 24 员工3 13 15 16 18 21 23 22 员工4 4 8 6 10 11 8 5 员工5 8 9 6 13 12 21 17 员工6 11 15 21 14 15 18 20 员工7 18 16 13 25 21 20 19 现要生产一批零件,要使得生产这批零件的时间最短应该如何安排?请你制定出具体方案。 3.1模型假设:
xi,j1表示从第i(i1,27)个员工在第j(j1,27)个机器工作;
xi,j0表示从第i(i1,27)个员工不在第j(j1,27)个机器工作; ti,j表示从第i(i1,27)个员工在第j(j1,27)个机器工作的时间;
2
3.2目标函数:
Minxi,jti,j
i1j177 3.3约束条件:
7xi,j1 i17 xi,j1j11 从第i(i1,27)个员工在第j(j1,27)个机器工作xi,j0 从第i(i1,27)个员工不在第j(j1,27)个机器工作
利用使用LINGO软件求解,编制程序如下:
model: sets:
workers/w1..w7/; jobs/j1..j7/;
links(workers,jobs): cost,volume; endsets
min=@sum(links: cost*volume); @for(workers(I):
@sum(jobs(J): volume(I,J))=1; );
@for(jobs(J):
@sum(workers(I): volume(I,J))=1; ); data:
cost= 3 12 13 4 8 11 18
3 6 15 8 9 15 16 8 12 16 6 6 21 13 6 17 18 10 13 14 25 9 16 21 11 12 15 21 2 18 23 8 21 18 20 7 24 22 5 17 20 19;
enddata end
然后点击工具条上的按钮 即可。
四、习题:
假设某工厂用m台机床加工n种零件。在一个生产周期内,第i(i1,2m)台机床只能工作ai个机时,而第j(j1,2n)种零件必须完成bi个,又第i台机床加工第j种零件所需机时和成本分别为ti,j(机时/个)和ci,j(元/个)。问在这个生产周期内怎样安排各机床的生产任务,才能使得既完成加工任务,又使总的加工成本最少?
3
因篇幅问题不能全部显示,请点此查看更多更全内容