河海大学lingo编程练习.docx
- 文档编号:29854180
- 上传时间:2023-07-27
- 格式:DOCX
- 页数:11
- 大小:58.12KB
河海大学lingo编程练习.docx
《河海大学lingo编程练习.docx》由会员分享,可在线阅读,更多相关《河海大学lingo编程练习.docx(11页珍藏版)》请在冰豆网上搜索。
河海大学lingo编程练习
Lingo编程练习
郁舒阳刘冲孙屹
(河海大学)
题目一:
1、某电子厂生产三种产品供应给政府部门:
晶体管、微型模块、电路集成器。
该工厂从物理上分为四个加个区域:
晶体管生产线、电路印刷与组装、晶体管与模块质量控制、电路集成器测试与包装。
生产中的要求如下:
生产一件晶体管需要占用晶体管生产线0.1h的时间,晶体管质量控制区域0.5h的时间,另加0.70元的直接成本;生产一件微型模块需要占用质量控制区域0.4h的时间,消耗3个晶体管,另加0.5元的直接成本;生产一件电路集成器需要占用电路印刷区域0.1h的时间,测试与包装区域0.5h的时间,消耗3个晶体管、3个微型模块,另加2.00元的直接成本。
假设三种产品(晶体管、微型模块、电路集成器)的销售量是没有限制的,销售价格分别为2元,8元,25元。
在未来的一个月里,每个加工区域均有200h的生产时间可用,请建立数学模型,帮助确定生产计划,使工厂的收益最大。
解答:
这道题目是要求我们制定一个计划,使得工厂的收益最大,说到底,也就是一个多元线性规划求最优解的问题。
对于本道题,我们的思路如下:
首先,我们假设工厂生产晶体管x1件,微型模块x2件,电路集成器x3件,以及各产品的价格和成本条件,我们可以得到该问题的目标函数:
同时我们考虑到每件产品所要消耗的加工区域时间,以及加工区域的时间上限约束条件,我们可以很容易的得出约束条件。
在这里,我们定义了一个数组xij,用来存放各产品所消耗的加工区域的时间,
约束条件为:
由此算法,我们编写了Lingo程序,代码如下:
model:
sets:
changping/1..3/:
x;
jiagong/1..4/:
y;
links(changping,jiagong):
c;
endsets
data:
c=0.100
000.1
0.50.40
000.5;
enddata
max=1.3*x
(1)+7.5*x
(2)+23*x(3);
@for(jiagong(j):
@sum(changping(i):
c(i,j)*x(i))<200);
x
(1)>3*(x
(2)+x(3));
x
(2)>3*x(3);
@for(changping(i):
@gin(x(i)));
结果如下:
Globaloptimalsolutionfound.
Objectivevalue:
7938.500
Objectivebound:
7938.500
Infeasibilities:
0.000000
Extendedsolversteps:
0
Totalsolveriterations:
0
VariableValueReducedCost
X
(1)2000.000-1.300000
X
(2)353.0000-7.500000
X(3)117.0000-23.00000
Y
(1)0.0000000.000000
Y
(2)0.0000000.000000
Y(3)0.0000000.000000
Y(4)0.0000000.000000
C(1,1)0.10000000.000000
C(1,2)0.0000000.000000
C(1,3)0.0000000.000000
C(1,4)0.0000000.000000
C(2,1)0.0000000.000000
C(2,2)0.10000000.000000
C(2,3)0.50000000.000000
C(2,4)0.40000000.000000
C(3,1)0.0000000.000000
C(3,2)0.0000000.000000
C(3,3)0.0000000.000000
C(3,4)0.50000000.000000
RowSlackorSurplusDualPrice
17938.5001.000000
20.0000000.000000
3164.70000.000000
423.500000.000000
50.30000000.000000
6590.00000.000000
72.0000000.000000
我们得到当晶体管生产2000个,微型模块353个,电路集成器117个时,有最大解为7938.500元。
题目二:
在一条20m宽的的道路两侧,分别安装了一只2kW和一只3kW的路灯,它们离地面的高度分别为5m和6m。
在漆黑的夜晚,当两只路灯开启时,两只路灯连线的路面上最暗的点和最亮的点在哪里?
如果3kW的路灯的高度可以在3m到9m之间变化,如何使路面上最暗的点亮度最大?
如果两只路灯的高度均可以在3m到9m之间变化,结果又如何?
解答:
对于本道题,要求路面上最暗点和最亮点的位置,实际上就是求解函数极值点问题,我们把它转化成了目标约束问题,思路如下:
通过查阅相关资料,我们找到了光照强顿与其功率,距离以及角度的关系,当光线照射到地面,光线与地面的夹角设为α,则光照强度的公式可表示为:
其中,k为系数,与路况,灯本身样式有关,p为灯的功率,r为灯到照明点的距离,这里取k=1。
由此,我们便可编写lingo程序,如下:
model:
A=@atan(5/(10-x));
B=@atan(6/(10+x));
r1=(10-x)^2+H1^2;
r2=(10+x)^2+H2^2;
P1=2000;
P2=3000;
max=P1*@sin(A)/r1+P2*@sin(B)/r2;
@free(x);
@bnd(-10,x,10);
@bnd(3,H2,9);
@bnd(3,H1,9);
运行结果如下:
Localoptimalsolutionfound.
Objectivevalue:
334.5193
Infeasibilities:
0.000000
Totalsolveriterations:
81
VariableValueReducedCost
A0.24497870.000000
X-10.000000.2041076E+17
B1.5707960.000000
R1409.00000.000000
H13.0000000.1739843E-01
R29.0000000.000000
H23.000000222.2222
P12000.0000.000000
P23000.0000.000000
RowSlackorSurplusDualPrice
10.0000004.743973
20.0000000.000000
30.000000-0.2899739E-02
40.000000-37.03704
50.0000000.5929968E-03
60.0000000.1111111
7334.51931.000000
我们可得当两路灯都为3米时,亮度最大为334.5193。
题目三:
3、向灾区空投救灾物资共2000kg,需选购一些降落伞。
已知空投高度为500m,要求降落伞落地时的速度不能超过20m/s。
降落伞面是半径为r的半球面,用每根长l共16根绳索连接的载重m位于球心正下方球面处,如图所示。
每个降落伞的价格由三部分组成。
伞面费用C1由伞的半径r决定,见表1;绳索费用C2由绳索总长度及单价4元/m决定;固定费用C3为200元。
降落伞在坠落过程中受到的空气阻力,可以认为与坠落速度和伞面积的乘积成正比。
为了确定阻力系数。
用半径r=3m、载重m=300kg的降落伞从500m高度做降落试验,测得各时刻t的高度x,见表1。
表1时刻t的高度x
t/s
036912151821242730
x/m
500470425372317264215160108551
试确定降落伞的选购方案,即共需多少个,每个伞的半径多大(在表2中选择),在满足空投要求的条件下,使费用最低。
表2降落伞的选购方案
r/m
22.533.54
C1/元
651703506601000
解答:
对于本题,我们先用表1的数据计算出阻力系数k。
我们猜想由于当降落伞降落到一定高度时,将会作近似的匀速直线运动,其重力mg就近似等于其阻力ksv,其公式为:
(1)
为了证实我们的猜想,我们将表一的数据运用spss软件线性插值,并进行线性分析(第7秒之后),得出它的相关系数为1,spss运行结果如下图
相关性
VAR00031
VAR00001
VAR00031
Pearson相关性
1
1.000**
显著性(双侧)
.000
N
24
24
VAR00001
Pearson相关性
1.000**
1
显著性(双侧)
.000
N
24
24
**.在.01水平(双侧)上显著相关。
这也就证实了我们猜想的正确性,我们还通过spss求出了阻力系数k=17.581,spss运行结果如下图:
系数a
模型
非标准化系数
标准系数
t
Sig.
B
标准误差
试用版
1
(常量)
-29.413
.582
-50.568
.000
VAR00031
17.581
.029
1.000
597.047
.000
a.因变量:
VAR00001
由此,我们通过公式
(1)可以得出每个不同种类的降落伞的最大载重,由于我们考虑到实际情况,物资一般来说它们的重量都是整十数,所以我们对最大载重作了近似化处理,由题设可建立模型:
model:
sets:
jishu/1..5/:
x;
endsets
min=65*x
(1)+170*x
(2)+350*x(3)+660*x(4)+1000*x(5)+16*4*(2*@sqrt
(2)*x
(1)+2.5*@sqrt
(2)*x
(2)+3*@sqrt
(2)*x(3)+3.5*@sqrt
(2)*x(4)+4*@sqrt
(2)*x(5))+200*(x
(1)+x
(2)+x(3)+x(4)+x(5));
151*x
(1)+237*x
(2)+341*x(3)+464*x(4)+607*x(5)>=2000;
@for(jishu(i):
@gin(x(i)));
lingo运行结果如下图:
Globaloptimalsolutionfound.
Objectivevalue:
4929.174
Objectivebound:
4929.174
Infeasibilities:
0.000000
Extendedsolversteps:
0
Totalsolveriterations:
0
VariableValueReducedCost
X
(1)0.000000446.0193
X
(2)0.000000596.2742
X(3)6.000000821.5290
X(4)0.0000001176.784
X(5)0.0000001562.039
RowSlackorSurplusDualPrice
14929.174-1.000000
246.000000.000000
由此得出我们购买第三种降落伞六个可满足要求,最小费用为4929.174元。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 大学 lingo 编程 练习
![提示](https://static.bdocx.com/images/bang_tan.gif)