优化模型
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
化为
min f=- 80 X1- 45 X2
sub.to 0.2 X1+0.05 X2≤4 15 X1+10 X2 ≤ 450 X1 ≥ 0, X2 ≥ 0
程序如下: 程序如下: c=[-80,-45];a=[0.2,0.05;15,10];b=[4,450]; vlb=[0,0];vub=[]; lp(c,a,b,vlb,vub) [x,lam]=lp lp (参数vlb,vub给出变量的上下边界的约束) x = 14.0000 24.0000 lam = 100.0000 4.0000 0 0 说明:x解为最优解 x解为最优解,lam说明约束条件发挥了作用。
如果 f ( x), hi ( x), g j ( x) 均为线性函数,则上述模型称为线性规划 线性规划 (Linear Programming,简记为LP),否则称为非线性规划 非线性规划(NLP) 非线性规划
2.优化模型的基本类型 优化模型的基本类型
问题求解的难度增加
上图是优化模型的简单分类和求解难度
x2
0.2x1+0.05x2=4
15x1+10x2=450 x1
线性规划问题的目标函数(关于不同的目标值是一族平行直线) 目标值的大小描述了直线离原点的远近,并且最优解一定在可 行解集的某个极点上达到 (穿过可行域的目标直线组中最远离(或接近)原点的直线所穿 过的凸多边形的顶点).
(2)用EXCEL—Solver实现 EXCEL—Solver实现 ①模型中的数据直接输入EXCEL工作表中。其中决策变量初 始的值可以任意给出,它们是可变的,软件最后将给出最优 解的值。SUMPRODUCT是EXCEL的一个内置函数,表示两个向 量或矩阵对应元素乘积的和。
优化模型
教学目的: 教学目的: 1. 初步认识优化模型的基本形式及掌握线性规 划模型的建模及求解。 2. 通过实例建模并求解,熟练掌握一些数学软件 的使用。
教学内容: 教学内容:
1. 简单介绍优化模型的基本概念和基本类型。 2. 重点介绍优化模型中的线性规划模型。 3. 线性规划模型建模实例及求解的实现。 4. 布置本次课的练习与上机实验内容。
Leabharlann Baidu
(4)用LINDO/LINGO实现 LINDO/LINGO实现 我们可以直接在下面的窗口输入LP模型(图(4)—1)
图(4)—1 输入简单的优化模型
输入后,用鼠标单击LINDO软件工具栏中的图标 ,或从菜 单中选择Solve│Solve(Ctrsl+S)命令,则LINDO开始编译这 个模型,编译没错误马上开始求解,求解时会显示如图 (4)—2所示LINDO求解器运行状态窗口(里面的 “Objective”就是最优解,即:2200)。
3. 线性规划
(目标函数和约束条件都是线性函数) 目标函数和约束条件都是线性函数) 3.1线性规划问题几个概念: 3.1线性规划问题几个概念: 线性规划问题几个概念
线性规划问题有解:指能找出一组满足约束条件的向量,并 线性规划问题有解 称这组为问题的可行解。 线性规划问题无解: 线性规划问题无解:指不存在可行解或最优趋向无限大。 可行域: 可行域:指全部可行解组成的集合。 最优解: 最优解:指可行域中使目标函数值达到最优的可行解。
3.4线性规划模型的实例 3.4线性规划模型的实例 例1 家具生产的安排 家具公司生产桌子和椅子,用于生产的劳力共计450个工 时,木材共有4立方米,每张桌子要使用15个工时,0.2立方木 材售价80元。每张椅子使用10个工时,0.05立方木材售价45 元。问为达到最大的收益,应如何安排生产? • 分析: 分析: 求什么? 1. 求什么? 生产多少桌子? x1 生产多少椅子? x2 优化什么? 2. 优化什么? 收益最大 Max f=80 x1+45 x2 限制条件? 3. 限制条件? 原料总量 0.2 x1 +0.05 x2 ≤4 劳力总数 15 x1 +10 x2 ≤450
3.2 线性规划模型的解的几种情况 线性规划问题
有可行解
无可行解
有最优解
无最优解
3.3 求解一般方法: (1)图解法 图解法: (1)图解法:对于只含2个变量的线性规划问题,可通 过在平面上作图的方法求解。步骤如下: ①在平面上建立直角坐标系; ②图示约束条件,找出可行域; ③图示目标函数,即为一直线; ④将目标函数直线沿着其法线方向向可行解域边界平移, 直至与可行解域第一次相切为止,这个切点就为最优点 (2)用EXCEL—Solver,Matlab,LINDO/LINGO软件实现 (2)用EXCEL—Solver,Matlab,LINDO/LINGO软件实现
规划求解( 加载宏安装) ②引用工具——规划求解(需要工具 加载宏安装) 引用工具 规划求解 需要工具—加载宏安装
实现------- lp 线性优化函数 (3)用Matlab实现 ) 实现 线性优化问题即目标函数和约束条件均为线性函数的问题。 标准形式为: 其标准形式为 标准形式为
c′x
优化模型从数学上可表示成如下一般形式: 优化模型从数学上可表示成如下一般形式: opt=f (x z ) (opt表示最优化(optimize)的意思)
e
s.t. hi ( x) = 0 i = 1, 2,3, ⋅⋅⋅, m
(Ⅰ) (Ⅱ)
g ( x) ≤ 0
j
j = me + 1, me + 2, ⋅⋅⋅, me + m
x ∈ R Min
n
x≥0
Sub.to: Ax=b
A 其中 ∈ Rm×n , m ≤ n (通常
m < n ), Rn , c ∈ Rn b∈
,
均为数值矩阵。
max f=80 X1+45 X2 sub.to 0.2 X1+0.05 X2≤4 15 X1+10 X2 ≤ 450 X1 ≥ 0, X2 ≥ 0
模型: 模型:以产值为目标取得最大收益.
设:生产桌子 x1张, 椅子 x2张,(决策变量) 将目标优化为:max f=80x1+45x2 对决策变量的约束: 0.2x1+0.05x2≤4 (Ⅰ)
15x1+10x2 ≤ 450,(Ⅱ) x1 ≥ 0, x2 ≥ 0,
模型求解: 模型求解: (1)图解法 )图解法(用于决策变量是2维)
(通过例2主要想说明用LINDO求解时与例1的不同:一般的 整数变量可用命令GIN(general integer的缩写),对整数 变量的说明只能放在模型的“END”语句之后,如图例2—1)
图例2—1 图例
优化模型是一类既重要又特殊的数学模型, 优化模型是一类既重要又特殊的数学模型,而优化建模 方法是也一种特殊的数学建模方法。优化模型一般有下 方法是也一种特殊的数学建模方法。 面三个要素: 面三个要素: • (1) 决策变量,它通常是该问题要求解的那些未 决策变量, 知量。 • (2)目标函数,通常是该问题要优化(最大或最 )目标函数, 小)的那个目标的数学表达式,它是决策变量的 函数。 • (3)约束条件,由该问题对决策变量的限制条件 )约束条件, 给出。
图(4 )—4 “LP OPTIMUM FOUND AT STEP 2”表示单纯形法在两次迭代后得到最优解。 “OBJECTIVE FUNCTION VALUE 1) 2200.000”表示最优目标值为2200.000 (在LINDO中目标函数所在的行总是被认为是第1行,这就是这里“1)” 的含义)。
VALUE”给出最优解中各变量的值:X1=14.000000,X2=24.000000 “SLACK OR SURPLUS(松弛或剩余)”给出约束对应的松弛变量的 值:第2、3行松弛变量均为0,说明对于最优解来讲,两个约束均 取等号,即都是紧约束。 “DUAL PRICES”给出对偶价格的值。 “NO. ITERATIONS=2”表示用单纯形法进行了两次迭代(旋转)。 例2 服务员聘用问题(整数线性规划模型) 服务员聘用问题(整数线性规划模型) 某服务部门一周中每天需要不同数目的雇员:周一到周四每天 至少需要50人,周五至少需要80人,周六和周日至少需要90人,现 规定应聘者需要连续工作5天,试确定聘用方案,即周一到周日每 天聘用多少人,使在满足需要的条件下聘用总人数最少。
1. 引言 在工程技术、经济管理、科学研究和日常生活等 诸多领域中,人们经常遇到的一类决策问题:在一系 列客观或主观限制条件下,寻求所关注的某个或多个 指标达到最大(或最小)的决策。例如,生产计划要 按照产品工艺流程和顾客需求,制定原料、零件、部 件等订购、投产的日程和数量,尽量降低成本使利润 最高;运输方案要在满足物资需求和装载条件下安排 从各供应点到各需求点的运量和路线,使运输总费用 最低。 它们的特点就是: 它们的特点就是:在若干可能的方案中寻求某种意义 下的最优方案。数学上称为最优化问题,而研究处理这 下的最优方案。数学上称为最优化问题 而研究处理这 种问题的方法叫最优化的方法。 种问题的方法叫最优化的方法。
图(4)—2
图(4)—3 ) 这个例子中的LP模型太小了,我们可能还没来得及看清 (4)—2的界面,最优解就出来了,并马上弹出如图 (4)—3的对话框,这个对话框询问你是否需要作灵敏性 分析,可以先选择“否N”按钮,这个窗口就回关闭,然 后在关闭图(4)—2。如果你在屏幕上没有看到求解的结 果,那么可以用鼠标选择LINDO的主菜单“Window”,会发 现有一个子菜单项“Reports Window”,这就是最终结果 的报告窗口。用鼠标选择“Window│Reports Window”, 就可以查看到窗口的内容(图(4)—4)