数学建模-第六章 数学规划-线性规划及应用

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

例 用MATLAB求解
线性规划
min z 13x1 9 x2 10x3 11y1 12y2 8 y3
x1 y1 400 x y 600.4 x1 1.1x2 x3 800 0.5 y1 1.2 y2 1.3 y3 900 xi , yi 0, i 1,2,3
数学建模(Ⅰ)
数学规划模型— 线性规划及其应用
数学规划模型及其分类 建立优化问题的数学规划模型 建模范例
在MATLAB中求解线性规划模型
应用案例:基金使用规划 作业
数学规划模型形为
Min(或Max) z f ( X ), X ( x1 ,x n ) s.t. g i ( X ) 0, i 1,2, m
min z 13x1 9x2 10x3 11y1 12y2 8 y3
该模型为 线性规划模型
x1 y1 4 0 0 x y 6 0 0 2 2 x3 y3 5 0 0 s.t. 0.4 x1 1.1x2 x3 8 0 0 0.5 y1 1.2 y2 1.3 y3 9 0 0 xi , yi 0, i 1,2,3

确定约束条件
决策问题的约束条件,指在决策过程中决策变量受到一定条件 的限制,或达到一些平凡意义下最低限度的要求,它们的数学表现 形式往往是决策变量的等式或不等式。
返 回
例 1:某车间有甲、乙两台机床,可用于加工三种工件。
假定这两台车床的可用台时数分别为800和900,三种工件 的数量分别为400、600和500,且已知用三种不同车床加工 单位数量不同工件所需的台时数和加工费用如下表。问怎 样分配车床的加工任务,才能既满足加工工件的要求,又 使加工费用最低?
调用函数linprog时须注意: • Matlab提供了一种机制,允许调用某个函数 时提供的参数个数少于定义该函数时所定义的 参数个数。因此,在调用函数linprog传递参 数时必须按语法指定的顺序对应传递,若缺少 某些参数,除非其位于参数表的尾部,否则调 用时必须以空数组“[ ]”形式占位。 • 若问题的模型为目标函数求极大,须先将目标 函数转换为求极小。 • 代码中所使用的标点分隔符,如逗号、分号、 括号等,必须是半角字符。
模型建立
设需要一级和二级检验员的人数分别为x1、x2人,则应 付检验员的工资为:8 4 x1 8 3 x2 32 x1 24 x2 因检验员错检而造成的损失为:
(8 25 2% x1 8 15 5% x2 ) 2 8x1 12 x2
故目标函数为:
输出结果:
x=
0.0000 600.0000 0.0000 400.0000 0.0000 500.0000 fval= 13800
返 回
应用案例:基金使用规划
返 回
作业
1、某鸡场有1000只鸡,用动物饲料和谷物混合喂养。每 天每只鸡平均食混合饲料0.5kg,其中动物饲料所占比 例不能少于20%。动物饲料每公斤0.30元,谷物饲料 每公斤0.18元,饲料公司每周仅保证供应谷物饲料 6000kg。问饲料怎样配合,才能使成本最低? 2、有两个煤厂A、B,每月进煤不少于60t、100t,它们 担负供应三个居民区用煤任务。这三个居民区每月用 煤分别为45t、75t、40t;A厂与这三个居民区距离分 别为10km、5km、6km,B厂与这三个居民区距离分别 为4km、8km、15km。问这两煤厂如何分配供煤,才 能使总运输量最小?
1 1.25 1.25 3 工地位置(a,b)及水泥日用量 d 2 3 4 8.75 0.5 5.75 0.75 4.75 5 5 4 7 5 3 6.5 6 6 7.25 7.25 11
11
a b d
建立模型
记工地的位置为(ai,bi),水泥日用量为di,i=1,…,6;料场位置为 (xj,yj),日储量为ej,j=1,2;设从料场j向工地i的运送量为Xij。
车床 类 型 甲 乙 单位工件所需加工台时数 工件 1 0.4 0.5 工件 2 1.1 1.2 工件 3 1.0 1.3 单位工件的加工费用 工件 1 13 11 工件 2 9 12 工件 3 10 8 可用台 时数 800 900
分析
这是一个优化问题,其优化的决策内容是“车床加工任 务”,确定决策变量就是将“车床加工任务”变量化。 可以分别用6个变量表示甲、乙车床加工3种工件的数 量。比如,设x1、x2、x3,y1、y2、y3分别表示甲乙车 床加工3种工件的数量。 优化追求的目标是“加工费用最低”,因此需要把加工 费用表示成决策变量的函数。设Z表示加工费用,则
例2:某厂每日8小时的产量不低于1800件。为了进行质量控
制,计划聘请两种不同水平的检验员。一级检验员的标准为: 速度25件/小时,正确率98%,计时工资4元/小时;二级检验员 的标准为:速度15件/小时,正确率95%,计时工资3元/小时。 检验员每错检一次,工厂要损失2元。为使总检验费用最省, 该工厂应聘一级、二级检验员各几名?
改建两个新料场,要同时确定料场的位置(xj,yj)和运送量Xij, 在同样条件下使总吨千米数最小。规划模型为:
min f X ij ( x j ai ) 2 ( y j bi ) 2
j 1 i 1
2
2
6
s.t.
X
j 1 6
ij
di , i 1,2,,6 ej , j 1,2
返 回
建立数学规划模型的“三步曲”
• 确定决策变量
对于一个决策问题,我们首先要明确待决策的内容或对象,然 后设法将其变量化以确定决策变量。小型的线性规划问题可以只有 较少的决策变量,大型问题则可能有上百个乃至成千上万个决策变 量;有些问题的决策变量显而易见,有些则需要转化才能设出。

确定目标函数
决策人面临着决策问题时,有一个进行方案决择的标准,即目 标。在确定决策变量后,将决策目标表为决策变量的函数并根据实 际问题求其最小或最大,即得目标函数。
X
i 1
ij
模型为非线性规划模型
返 回
MATLAB 中提供求解线性规划的函数名为 linprog,它针对如下“标准形式”的线 性规划模型:
min f X
AX b s.t. Ae qX be q l b X u b
T
在前述“标准形式”中: • 目标函数求极小; • 约束条件严格地分为三类:⑴不等式约束且 取“≤”不等号;⑵等式约束;⑶变量取值 范围约束。 其中,X,f,A,b,Aeq,beq,lb,ub均 为向量或矩阵,其含义分别为:
min z (32 x1 24 x2 ) (8x1 12 x2 ) 40 x1 36 x2
约束条件为:
8 25 x1 8 15 x2 1800 8 25 x 1800 1 8 15 x2 1800 x1 0, x2 0且取整数
Z 13x1 9 x2 10x3 11y1 12y2 8 y3
至于约束条件,除了加工任务外,还有车床资源的限制 (即车床可用台时数)。
建立模型
设在甲车床上加工工件1、2、3的数量分别为x1、x2、x3, 在乙车床上加工工件1、2、3的数量分别为y1、y2、y3; 目标函数为表为决策变量函数的加工费用,同时明确优 化目标为追求加工费用最低;约束条件为生产任务约束 和加工设备台时限制。建立以下规划模型:
X:决策向量; f:价值向量; A:不等式约束的系数矩阵; b:不等式约束右端常数向量; Aeq:等式约束的系数矩阵;beq:等式约束右端常数向量; lb,ub:变量取值范围的下限向量及上限向量。
MATLAB函数linprog针对前述“标准型”设 计有多种调用模式,其中常用有如下两种: x = linprog(f, A, b, Aeq, beq, lb, ub); [ x, fval ] = linprog(f, A, b, Aeq, beq, lb, ub); 前者只返回最优解向量x,后者除最优解向量 外,还要返回最优目标值fval。其它调用模式参看 MATLAB技术文档。 函数linprog中使用的算法并非单纯形法,因 为从算法效率的角度分析单纯形法非“好的”算法。
问题模型为
min z 40 x1 36 x2
5 x1 3 x2 45 x 9 s.t. 1 x2 15 x1 0, x2 0且取整数
该模型为整数 线性规划模型
例3:某公司有6个建筑工地要开工,每个工地的位置(用平面
坐标系a,b表示,距离单位:千米 )及水泥日用量d(吨)由下表 给出。目前有两个临时料场位于A(5,1),B(2,7),日储量各有20 吨。假设从料场到工地之间均有直线道路相连。 (1)试制定每天的供应计划,即从A,B两料场分别向各工 地运送多少吨水泥,使总的吨千米数最小。 (2)为了进一步减少吨千米数,打算舍弃两个临时料场, 改建两个新的,日储量各为20吨,问应建在何处?
MATLAB调用代码:
f=[13; 9; 10; 11; 12; 8]; A=[0.4, 1.1, 1, 0, 0, 0; 0, 0, 0, 0.5, 1.2, 1.3]; b=[800; 900]; Aeq=[1, 0, 0, 1, 0, 0; 0, 1, 0, 0, 1, 0; 0, 0, 1, 0, 0, 1]; beq=[400; 600; 500]; lb=zeros(6, 1); [x, fval]=linprog(f, A, b, Aeq, beq, lb);
当用临时料场时决策变量为:Xij, 当不用临时料场时决策变量为:Xij,xj,yj。
使用临时料场的情形
使用两个临时料场A(5,1),B(2,7).求从料场j向工地i的运送量 为Xij,在各工地用量必须满足和各料场运送量不超过日储量的 条件下,使总的吨千米数最小。问题模型为:
min f aa(i, j ) X ij
其中 X=(x1, …, xn)T ~ 决策变量 f(X) ~ 目标函数
T
gi(X)0 ~ 约束条件,gi(X)称为 约束函数
数学规划模型分类
按只有一个目标函数还是有多个目标函数, 分为单目标规划和多目标规划; 按目标函数以及约束函数都是决策变量的线 性函数还是存在非线性函数,分为线性规划 和非线性规划; 还有其它一些分类方法,可分类出:整数规 划和非整数规划、无约束规划(多元函数极 值)与有约束规划,等等。
目标函数为: min f
2 2 X ( x a ) ( y b ) ij j i j i j 1 i 1 2 6
2 X ij d i , i 1,2, ,6 j 1 约束条件为: 6 X ij e j , j 1,2 i 1
j 1 i 1 2 6
s.t.
X
j 1 6
2
ij
d i , i 1,2,,6 ej , j 1,2
X
i 1
ij
其中 aa(i, j )
( x j ai ) 2 ( y j bi ) 2 ,(i=1,2,…,6; j=1,2)为常数。
模型为线性规划模型
改建两个新料场的情形
将模型写成“标准形式”
min (13, 9,10,11 ,12,8) ( x1, x2 , x3 , y1, y2 y3 )T
x1 x2 0.4 1.1 1 0 0 0 x3 800 0 0 0 0.5 1.2 1.3 y1 900 y2 y 3 s.t. x1 1 0 0 1 0 0 x2 400 x3 600 0 1 0 0 1 0 y 0 0 1 0 0 0 1 y 500 2 y 3 T x , x , x , y , y , y 0,0,0,0,0,0T 1 2 3 1 2 3
相关文档
最新文档