版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、精选优质文档-倾情为你奉上 数学建模 实验指导书姓名:吴家猛 班号:AP08055 学号:AP五邑大学数学物理系二八年八月印刷实验4 指导书实验项目名称:求解非线性规划模型所属课程名称:数学建模实验计划学时:2学时一、 实验目的掌握数学软件Lingo用集合步和循环语句等编程求解非线性规划模型。二、 实验内容和要求(一) 实验内容(钢管下料模型)某钢管零售商从钢管厂进货,将钢管按照顾客的要求切割后售出,从钢管厂进货时原料钢管都是168米。现有顾客需要968根12米、848根23米、1253根28米和988根35米的钢管。1. 因为零售商如果采用不同切割模式太多,将会导致生产过程复杂化,从而增加生
2、产成本,所以该零售商规定采用的切割模式不超过3种。请你确定下料方案。2. 若该零售商规定采用的切割模式不超过4种。请你重新确定下料方案。3. 思考题在上面下料问题中若不限制切割模式的数量,请你确定下料方案。(二) 要求 有问题分析、数学模型、Lingo的求解程序、程序的运行结果和所有问题的回答。三、 实验主要仪器设备和材料 每人一台计算机,要求已安装Lingo 8.0以上版本。四、 实验方法、步骤及结果测试 (1)模型建立: 决策变量: 由于不同切割模式不超过3种,可以用表示按照第i模式(i=1,2,3)切割的原料,显然它们应当是非负整数,设所使用的第i种切割模式下每根原料钢管生产12米,23
3、米,28米和38米的钢管分别为. 决策目标:切割原料钢管的总根数最少,目标为 Min 约束条件 为满足客户的需求,应有 每一种切割模式必须可行,合理,所以每根原料钢管的成品量不能超过168米,也不能少于157米,于是有: 为了把模型求解的范围缩小,我们再假设第一种全部用来切割12米的,一根可以切割14根,第二种全部用来切割23米的,一根可以切割7根,第三种一根可以用来切割4根28和1根35米的故最多要用70+122+988=1180根,又假设每根完全用完,没有剩余量,则最少要用根,故有 模型求解:将构成的模型输入LINGO中,程序如下:Title 钢管下料 - 最小化钢管根数的LINGO模型;
4、SETS: NEEDS/1.4/:LENGTH,NUM; ! 定义基本集合NEEDS及其属性LENGTH,NUM;CUTS/1.3/:X; ! 定义基本集合CUTS及其属性X;PATTERNS(NEEDS,CUTS):R; ! 定义派生集合PATTERNS(这是一个稠密集合)及其属性R;ENDSETSDATA:LENGTH=12 23 28 35;NUM=968 848 1253 988;C=168;ENDDATAmin=SUM(CUTS(I): X(I) );!目标函数;FOR(NEEDS(I): SUM(CUTS(J): X(J)*R(I,J) ) NUM(I) ); !满足需求约束;FO
5、R(CUTS(J): SUM(NEEDS(I): LENGTH(I)*R(I,J) ) C -MIN(NEEDS(I):LENGTH(I)+1 ); !合理切割模式约束;SUM(CUTS(I): X(I) ) 600; SUM(CUTS(I): X(I) ) X(I+1) ); !人为增加约束;FOR(CUTS(J): GIN(X(J) ) ;FOR(PATTERNS(I,J): GIN(R(I,J) );end输出结果为:Local optimal solution found at iteration: Objective value: 603.0000 Model Title: 钢管下料
6、 - 最小化钢管根数的LINGO模型 Variable Value Reduced Cost C 168.0000 0. LENGTH( 1) 12.00000 0. LENGTH( 2) 23.00000 0. LENGTH( 3) 28.00000 0. LENGTH( 4) 35.00000 0. NUM( 1) 968.0000 0. NUM( 2) 848.0000 0. NUM( 3) 1253.000 0. NUM( 4) 988.0000 0. X( 1) 389.0000 1. X( 2) 144.0000 1. X( 3) 70.00000 1. R( 1, 1) 2. 0
7、. R( 1, 2) 0. 0. R( 1, 3) 3. 0. R( 2, 1) 2. 0. R( 2, 2) 0. 0. R( 2, 3) 1. 0. R( 3, 1) 1. 0. R( 3, 2) 6. 0. R( 3, 3) 0. 0. R( 4, 1) 2. 0. R( 4, 2) 0. 0. R( 4, 3) 3. 0. Row Slack or Surplus Dual Price 1 603.0000 -1. 2 20.00000 0. 3 0. 0. 4 0. 0. 5 0. 0. 6 0. 0. 7 0. 0. 8 4. 0. 9 11.00000 0. 10 11.0000
8、0 0. 11 7. 0. 12 3. 0. 13 577.0000 0. 14 245.0000 0. 15 74.00000 0.由运算得出的数据可以知道: 总使用原料钢管的总根数为603根,第一种切割模式下一根原料钢管切割成2根12米、2根23米、1根28米和2根35米;第二种切割模式下一根原料钢管切割成6根28米;第三种切割模式下一根原料钢管切割成3根12米、1根23米和3根35米。(2)模型建立: 决策变量: 由于不同切割模式不超过4种,可以用表示按照第i模式(i=1,2,3、4)切割的原料,显然它们应当是非负整数,设所使用的第i种切割模式下每根原料钢管生产12米,23米,28米和3
9、8米的钢管分别为. 决策目标:切割原料钢管的总根数最少,目标为 Min 约束条件 为满足客户的需求,应有 每一种切割模式必须可行,合理,所以每根原料钢管的成品量不能超过168米,也不能少于157米,于是有: 为了把模型求解的范围缩小,我们再假设第一种全部用来切割12米的,一根可以切割14根,第二种全部用来切割23米的,一根可以切割7根,第三种一根可以用来切割4根28米和1根35米的,第四种一根可以用来切割1根28米和4根35米的,故最多要用70+122+313+170=675根,又假设每根完全用完,没有剩余量,则最少要用根,故有 模型求解:将构成的模型输入LINGO中,程序如下:Title 钢
10、管下料 - 最小化钢管根数的LINGO模型;SETS: NEEDS/1.4/:LENGTH,NUM; ! 定义基本集合NEEDS及其属性LENGTH,NUM;CUTS/1.4/:X; ! 定义基本集合CUTS及其属性X;PATTERNS(NEEDS,CUTS):R; ! 定义派生集合PATTERNS(这是一个稠密集合)及其属性R;ENDSETSDATA:LENGTH=12 23 28 35;NUM=968 848 1253 988;C=168;ENDDATAmin=SUM(CUTS(I): X(I) );!目标函数;FOR(NEEDS(I): SUM(CUTS(J): X(J)*R(I,J)
11、) NUM(I) ); !满足需求约束;FOR(CUTS(J): SUM(NEEDS(I): LENGTH(I)*R(I,J) ) C -MIN(NEEDS(I):LENGTH(I)+1 ); !合理切割模式约束;SUM(CUTS(I): X(I) ) 600; SUM(CUTS(I): X(I) ) X(I+1) ); !人为增加约束;FOR(CUTS(J): GIN(X(J) ) ;FOR(PATTERNS(I,J): GIN(R(I,J) );输出结果为:Local optimal solution found at iteration: Objective value: 601.000
12、0 Model Title: 钢管下料 - 最小化钢管根数的LINGO模型 Variable Value Reduced Cost C 168.0000 0. LENGTH( 1) 12.00000 0. LENGTH( 2) 23.00000 0. LENGTH( 3) 28.00000 0. LENGTH( 4) 35.00000 0. NUM( 1) 968.0000 0. NUM( 2) 848.0000 0. NUM( 3) 1253.000 0. NUM( 4) 988.0000 0. X( 1) 243.0000 1. X( 2) 208.0000 1. X( 3) 134.00
13、00 1. X( 4) 16.00000 1. R( 1, 1) 0. 0. R( 1, 2) 4. 0. R( 1, 3) 0. 0. R( 1, 4) 9. 0. R( 2, 1) 0. 0. R( 2, 2) 4. 0. R( 2, 3) 0. 0. R( 2, 4) 1. 0. R( 3, 1) 1. 0. R( 3, 2) 1. 0. R( 3, 3) 6. 0. R( 3, 4) 0. 0. R( 4, 1) 4. 0. R( 4, 2) 0. 0. R( 4, 3) 0. 0. R( 4, 4) 1. 0. Row Slack or Surplus Dual Price 1 60
14、1.0000 -1. 2 8. 0. 3 0. 0. 4 2. 0. 5 0. 0. 6 0. 0. 7 0. 0. 8 0. 0. 9 2. 0. 10 11.00000 0. 11 11.00000 0. 12 11.00000 0. 13 9. 0. 14 3. 0. 15 19.00000 0. 16 35.00000 0. 17 74.00000 0. 18 118.0000 0.由计算结果可知:总使用原料钢管的总根数为601根,第一种切割模式下一根原料钢管切割成1根28米、4根35米;第二种切割模式下一根原料钢管切割成4根12米、4根23米、1根28米;第三种切割模式下一根原料钢管
15、切割成6根28米;第四种切割模式下一根原料钢管切割成9根12米、1根23米、1根35米。(3)思考题:由于不限制切割模式的种类,故需要算出总切割模式总数,用C+程序来计算。 在MicrosoftVisualC+6.0中输入以下程序:#includeusing namespace std;int c=0,sum;/sum表示满足客户要求所用的原料钢管的根数的上限;int i,j,k,l; /某种模式时,i表示切割12米的根数,j表示切割23米的根数,k表示切割28米的根数,l表示切割35米的根数,int a,e; int d1,d2,d3,d4;int sumi=0,sumj=0,sumk=0,
16、suml=0;int main() e=(12*968+23*848+28*1253+35*988)/168-1; /需要钢管原料的下限 for(l=0;l5;l+) for(k=0;k7;k+) for(j=0;j8;j+) for(i=0;i=157&a=168) c=c+1; /符合条件的模式数量值 sumi=sumi+i; sumj=sumj+j; sumk=sumk+k; suml=suml+l; cout 第c种模式:切割i根12米的, j根23米的,k根28米的,l根35米的;d2) if(d1d3) if(d1d4)sum=d1*c; else sum=d4*c;else if(d3d4) sum=d3*c; else sum=d4*c;else if(d2d3)if(d2d4) sum=d2*c;else sum=d4*c; else if(d3d4) sum=d3*c; else sum=d4*c; cout 总共有c种模式endl; /总模式有的总值cout需要钢管原料的下限为:eendl;co
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年安徽马鞍山经开区银塘镇专职网格员招聘考试核心押题卷(第2套)(附独家高分解析)
- 优化自动化设备反馈信号精度
- 2026年宝坻地区体育生考研346体育综合全真模拟试卷(含完整答案解析)
- 清廉医院考试题库及答案
- 2026北美大厂面试题及答案
- 2026冰川公司面试题及答案
- 2026伯温小学面试题目及答案
- 普杰智慧酒店解决方案
- 农村电子商务培训课件
- 2026部级干部面试题目及答案
- 11-四年级数学期末模拟卷-含答案解析
- GB/T 451.3-2026纸和纸板第3部分:厚度的测定
- 2026年河南事业单位招聘(职业能力测验)考试真题及答案
- 2026年山东高考考生高考志愿填报指南课件
- 2026甘肃白银景泰县公安局招聘警务辅助人员25人笔试备考试题及答案详解
- 2025-2026学年福建省漳州市八年级下册期末考试数学试题 含答案
- 家用电器-5个问题理清海信集团旗下家电业务
- 2026年中国中医科学院广安门医院医护人员招聘笔试参考试题及答案详解
- 广东省广州市广大附中教育集团2022-2023学年九年级上学期自主招生数学试题(含答案解析)
- 2026 春三年级语文下册期末必考知识点完整版
- 2026全球及中国金红石行业需求态势与前景动态预测报告
评论
0/150
提交评论