




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第六讲,线性规划与 非线性规划,线性规划与非线性规划,最优化是人们在工程技术、科学研究和经济管理等领域常见的问题。要表述一个最优化问题,一般需要确定三个要素:一是决策变量,通常是要求解的未知量 ;二是目标函数,通常是要优化(最小或最大)的那个目标的数学表达式,是决策变量的函数 ;三是约束条件,对决策变量的限制条件,即 允许取值的范围,称为可行域。 一般地,优化模型可表述为 只满足(2)的解 称为可行解,同满足(1)(2)的解 称最优解。,优化模型的分类,数学规划,线性规划(LP) 二次规划(QP) 非线性规划(NLP),0-1整数规划 一般整数规划,纯整数规划(PIP) 混合整数规划(MIP)
2、,整数规划(IP),连续规划,一、线性规划,1、引例 问题一:任务分配问题:某车间有甲、乙两台机床,可用于加工三种工件.假定这两台车床的可用台时数分别为800和900,三种工件的数量分别为400、600和500,且已知用三种不同车床加工单位数量不同工件所需的台时数和加工费用如下表.问怎样分配车床的加工任务,才能既满足加工工件的要求,又使加工费用最低?,模型 设在甲车床上加工工件1、2、3的数量分别为 在乙车床上加工工件1、2、3的数量分别为,问题二:某厂每日8小时的产量不低于1800件.为了进行质量控制,计划聘请两种不同水平的检验员.一级检验员的标准为:速度25件/小时,正确率98%,计时工资
3、4元/小时;二级检验员的标准为:速度15件/小时,正确率95%,计时工资3元/小时.检验员每错检一次,工厂要损失2元.为使总检验费用最省,该工厂应聘一级、二级检验员各几名? 模型 设需要一级、二级检验员的人数分别为 人, 应付检验员工资为 因检验员错检而造成的损失为,2、线性规划模型的标准形式 或矩阵形式 其中 是决策变量, 是约束矩阵, , 3、线性规划模型的实用形式 (1) (2),注;当前MATLAB只支持第一种形式。,4、用MATLAB优化工具箱解线性规划 (1) 模型1: 命令:x=linprog(c,A,b) (2) 模型2: 命令: x=linprog(c,A1,b1,A2,b2
4、) 注:1若没有不等式 存在,则令 2 输出的x为最优解。,(3) 模型3: 命令: 1 x=linprog(c,A1,b1,A2,b2,v1,v2) 2 x=linprog(c,A1,b1,A2,b2,v1,v2,x0) 注:1 若没有等式约束: ,令 2 x0表示初始解。 (4) 命令:x,fval,ef,out,lambda=linprog(c,A1,b1,A2,b2,v1,v2,x0) 输出x为最优解,fval为最优值,ef为程序停止的标志,out为个结构变量,包括程序运行的有关信息,lambda也是结构变量,对应于相应的约束的Lagrange乘子。,例1:,见MATLAB程序(xia
5、nxingguihua1),例2:,见MATLAB程序(xianxingguihua2),例3:问题一的解答 改写为,见MATLAB程序(xianxingguihua3),结果:,即在甲机床上加工600个工件2,在乙机床上加工400个工件1、500个工件3,可在满足条件的情况下使总加工费最小为13800.,例4:问题二的解答 改写为,见MATLAB程序(xianxingguihua4),结果: 即只需聘用9个一级检验员。 注:本问题应还有一个约束条件:x1、x2取整数,故它属于一个整数线性规划问题,这里当成一个线性规划求解,求得最优解刚好是整数x1=9,x2=0,故它就是该整数规划的最优解.若
6、用线性规划解法求得的最优解不是整数,将其取整后不一定是相应整数规划的最优解,这样的整数规划应用专门的方法求解.,二、非线性规划,1、二次规划 标准形式: MATLAB调用格式: (1) x=quadprog(H,C,A1,b1); (2)x=quadprog(H,C,A1,b1,A2,b2,v1,v2); (3)x,fval,exitflag,output= quadprog(H,C,A1,b1, A2,b2 ,v1,v2,x0,options);,例1: 改写成标准形式:,编程(见MATLAB程序(erciguihua1) 结果:,2、一般非线性规划 标准形式: 其中 为n维变元向量, 均为
7、非线性函数组成的向量,其他变量的含义与线性规划、二次规划中相同 用MATLAB求解上述问题,基本步骤分三步。,(1)首先建立M文件fun.m,用来定义目标函数f(x),形式为 function f=fun(x) f=f(x); (2)若有非线性约束条件: 或 则建立M文件c.m定义函数 一般形式为 function c1,c2=c(x) c1= c2= (3)建立主程序。求解非线性规划的函数是fmincon,调用格式为 x=fmincon(fun,x0,A1,b1); x,fv,ef,out,lag,grad,hess=fmincon(fun,x0,A1,b1,A2,b2,v1,v2,c,op
8、t,P1,P2,),注意: (1) fmincon函数提供了大型优化算法和中型优化算法。当options参数的GradObj设置为on时必须给出fun函数的梯度,并且只有上下界约束或只有等式约束,fmincon函数将选择大型算法。当既有等式约束又有梯度约束时,使用中型算法。 (2) fmincon函数的中型算法使用的是序列二次规划法(SQP方法)。在每一步迭代中求解二次规划子问题,并用BFGS法更新拉格朗日Hesse矩阵。 (3)fmincon函数可能会给出局部最优解,这与初值x0的选取有关。,例2: 改写成标准形式: 建立M文件fun1.m,建立主程序(见MATLAB程序(feixianxi
9、ngguihua1) 结果:,例3: 建立M文件fun2.m定义目标函数: 建立M文件c.m定义非线性约束条件:,编写主程序(见MATLBA程序(feixianxingguihua2) 结果:,例4: 建立M文件fun3.m定义目标函数: 建立M文件c1.m定义非线性约束条件:,编写主程序(见MATLBA程序(feixianxingguihua3) 结果:,补充知识:用LINDO、LINGO优化工具箱解线性规划,LINDO、LINGO能求解的优化模型,优化模型,连续优化,整数规划(IP),二次规划(QP),非线性规划(NLP),线性规划(LP),LINDO,LINGO,一、LINDO软件包,引
10、例:加工奶制品的生产计划 每天:50桶牛奶,时间:480小时,至多加工100千克 ,制定生产计划,使每天获利最大。 35元可买到1桶牛奶,买吗?若买,每天最多买多少? 可聘用临时工人,付出的工资最多是每小时几元? 获利增加到 30元/千克,是否应改变生产计划?,一桶牛奶,3千克A1,4千克A2,获利24元/千克,获利16元/千克,12小时,8小时,或,建立模型,桶牛奶生产,桶牛奶生产,获利,获利,决策变量,目标函数,约束条件,线性规划模型(LP),每天获利 原料供应 劳动时间 加工能力 非负约束,模型求解:,20桶牛奶生产 ,30桶牛奶生产 ,利润为3360元。,原料无剩余 时间无剩余 加工能
11、力剩余40,三种资源,基变量的reduced cost值为0;对于非基变量, reduced cost值表示该非基变量增加一个单位时(其他非基变量保持不变),目标函数减少量(对max型问题)。,影子价格 原料增1单位,利润增48 时间增1单位,利润增2 能力增减不影响利润,35元可买到1桶牛奶,要买吗? 35 ”(或“=”(或“=”)功能相同。 变量与系数间可有空格(甚至回车), 但无运算符。 变量名以字母开头,不能超过8个字符。 变量名不区分大小写(包括LINDO中的关键字)。 目标函数所在行是第一行,第二行起为约束条件。 行号(行名)自动产生或人为定义.行名以“)”结束。 行中注有“!”符
12、号的后面部分为注释。 如: ! Its Comment。 在模型的任何地方都可以用“TITLE” 对模型命名(最多72个字符),如: TITLE This Model is only an Example。,变量与系数间可有空格,但不能有任何运算符号(如乘号*)。 变量不能出现在一个约束条件的右端。 表达式中不接受括号“( )”和逗号“,”等任何符号, 例: 400(X1+X2)需写为400X1+400X2。 表达式应化简,如2X1+3X2- 4X1应写成 -2X1+3X2。 缺省假定所有变量非负,可在模型的“END”语句后用“FREE name”将变量name的非负假定取消。 可在 “END”后用“SUB” 或“SLB” 设定变量上下界, 例如: “sub x1 10”的作用等价于“x1=10”, 但用“SUB”和“SLB”表示的上下界约束不计入模型的约束,也不能给出其松紧判断和敏感性分析。 “END”后对0-1变量说明:INT n 或 INT name,前者指前n个变量标识为整型。 “END”后对整数变量说明:GIN n 或 GIN name。,2、状态窗口(LINDO Solver Status),当前状态:已达最优解 迭代次数:18次 约束不满足的“量”(不是“约束个数”):0 当前的目标值:94 最好的整数解:94 整数规划的界:93.5
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 车位出租协议
- 辽宁省大连市普兰店市第三中学2025年物理高二下期末预测试题含解析
- 二零二五年餐饮企业特色美食研发与市场推广合同范本
- 二零二五年度信息安全保密合作合同
- 2025版特色美食街食堂承包管理合同
- 二零二五年度建筑照明材料购销合同规范
- 二零二五版家政服务公司专业保洁服务合同
- 二零二五年度车辆抵押保险理赔合同范本
- 二零二五版绿色食品生产场与客户双重认可合作协议
- 二零二五年度农产品深加工采购合同
- 电网工程设备材料信息参考价2025年第一季度
- GB/T 26323-2010色漆和清漆铝及铝合金表面涂膜的耐丝状腐蚀试验
- GB/T 1796.6-2018轮胎气门嘴第6部分:气门芯
- 高中新生入学教育课件
- 出版政策与法规课件
- 综合管廊基坑降排水施工专项方案
- 安徽省工伤职工停工留薪期分类目录
- MSDS 化学品安全说明书(油漆)
- DB13T 5240-2020 煤矿在用钢丝绳牵引卡轨车安全检测检验规范
- 消防设施移交及消防设施操作维护人员培训和清单参考模板范本
- SLAP损伤的治疗课件
评论
0/150
提交评论