- 1、本文档共7页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数模培训题目一合理下料
下料问题
生产实践中经常遇到这样的问题,要把规格一定的材料裁剪成不同尺寸的毛坯,在一般情况下,很难使原材料得到完全利用,总会多出一些料头。切割次序和方法的不同、各种规格搭配(即下料策略)不同,材料的消耗将不同。实际需要解决如下问题,在给定一组材料规格尺寸后517×447×2, 517×597×1, 257×597×2, 517×397×4, 907×347×1, 907×397×1, 907×477×2, 907×397×1,777×447×2, 777×547×1, 777×447×1, 777×297×1, 397×647×1, 387×997×1, 777×297×1,,77×597×1
主要运用整数规划。
f=[0.2,0.8,0.7,0.2,0.2,0.1,0];
a=[-6,0,-1,0,-1,-2;0,-4,0,-1,-2,-3;0,0,-2,-2,-1,0];
b=[-240,-100,-30];
[x,y]=IntLp(f,a,b,[],[],[0,0],[inf,inf]);
工具箱法
f=[2 8 2 7 1 11 6 1 5 0]; A=[6 0 0 1 1 3 2 4 3 2;0 4 1 0 2 0 1 1 2 3;0 0 0 2 1 1 1 0 0 0];
B=[240;100;30]; Ae=[]; Be=[];
xm=[0,0,0,0,0,0,0,0,0,0];
P=intvar(10,1);
g=f*P;
F=set(A*P=B)+set(xm=P);
sol=solvesdp(F,g);
P=double(P)
ILp
P =
NaN
NaN
NaN
NaN
NaN
NaN
NaN
NaN
NaN
NaN
MATLAB中的线性规划问题的标准形式描述如下:
Min z=fTX
s.t. AX b
AeqX=beq
lb X ub
其中:f、X、b、beq、lb、ub为向量,A、Aeq为矩阵。
注意:1 本教材中标准形式的目标函数是求Max;
2 任何形式的线性规划问题都能够经过适当的变换化成上述的标准形式。
在MATLAB6.0及以上的版本中,求解线性规划问题的函数是linprog。
调用格式1:x=linprog(f,A,b)
说明:求Min z=fTX,s.t. AX b线性规划的最优解。
调用格式2:x=linprog(f,A,b,Aeq,beq)
说明:等式约束Aeq X = beq,若没有不等式约束AX b,则A=[],b=[]。
调用格式3:x=linprog(f,A,b,Aeq,beq,lb,ub)
说明:约束X:lb X ub,若没有等式约束AeqX=beq,则Aeq=[],beq=[]。
调用格式4:x=linprog(f,A,b,Aeq,beq,lb,ub,x0)
说明:设置初值x0。该选项只适用于中型问题,默认时大型问题将忽略初值。
调用格式5:x=linprog(f,A,b,Aeq,beq,lb,ub,x0,options)
说明:options为指定的优化参数,参数详情请查看optimset和optimget函数。
调用格式6:[x,fval]=linprog(…)
说明:返回目标函数最优值,即fval= fTX。
调用格式7:[x,lambda,exitflag]=linprog(…)
说明:lambda为解x的Lagrange乘子。若lambda=lower表示下界lb,lambda=upper表示上界ub,lambda=ineqlin表示不等式约束,lambda=eqlin表示等式约束,lambda中的非0元素表示对应的约束是有效约束。
调用格式8:[x,lambda,fval,exitflag]=linprog(…)
说明:exitflag为终止迭代的错误条件:若exitflag0表示函数收敛于解x, exitflag=0,表示超过函数估值或迭代的最大数字,exitflag0表示函数不收敛于解x。
根据问题规模的不同,linprog函数使用不同的算法:
大型优化问题——采用的是LIPSOL法。该方法在迭代计算之前首先要进行一系列的预处理。
中型优化问题——采用的是投影法,就象quadprog函数的算法一样。Linprog函数使用的是一种活动集方法,是线性规划中单纯形的变种。它通过求解另外一个线性规划问题来找到初始可行解。
对于大型问题算法,算法的第一步涉及到一些约束条件的预处理问题。有些问题可能导致Linprog函数退出,并显示不可行的消息。
若Aeq参数中某行的所有元素都为零,但beq参数中对应的元素不为零,则显示以下退出信息:
exiting due to inf
文档评论(0)