云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > 第九章 最优化方法要点

第九章 最优化方法要点

  • 62 次阅读
  • 3 次下载
  • 2025/5/26 2:23:16

A=[3,2,-1,4,2; 2,4, -2,-1,-2]; b=[5;5] ;

[x,fval,exit,output]=bintprog(f,A,b) 输出结果:

Optimization terminated. x = 1 1 1 0 0 fval = -5 exit = 1 output =

iterations: 4 nodes: 1 time: 0.0781

algorithm: 'LP-based branch-and-bound' branchStrategy: 'maximum integer infeasibility' nodeSrchStrategy: 'best node search' message: 'Optimization terminated.

这表明,当x1?1,x2?1,x3?1,x4?0,x5?0时,目标函数取最大值5。 例4 资金分配问题,某企业在今后3年内有5个工程考虑开工,每项工程的期望收入和年度费用如表所示。假定每一项已经批准的工程要在整3年内完成。企业应如何选择工程,使企业总收入最大?

工程 1 费用(千元) 第一年 5 第二年 1 第三年 8 收入(千元) 20 2 3 4 5 最大可用资金数 4 3 7 8 25 7 9 4 6 25 10 2 1 10 25 40 20 15 30 解 设决策变量为x1,x2,x3,x4,x5:其中xi?0或1,xi?0表示放弃第i项工程,

xi?1表示选择第i项工程。

该问题的数学模型为:

max z?20x1?40x2?20x3?15x4?30x5?5x1?4x2?3x3?7x4?8x5?25?x?7x?9x?4x?6x?25?12345s.. t??8x1?10x2?2x3?x4?10x5?25??xi?1或0(i=1,2,3,4,5)

利用bintprog函数求解如下: f=-[20;40;20;15;30];

A=[5,4,3,7,8;1,7,9,4,6;8,10,2,1,10]; b=[25;25;25];

[x,fv,exit]=bintprog(f,A,b) 输出结果如下: Optimization terminated. x = 1 1 1 1 0 fv = -95 exit = 1

上述结果表明,该企业选择第1,第2,第3,第4项工程,可以获得最大

利润95千元。

指派问题:设有n项工作分配给n个人去做,每人做一项,由于个人的工作效率不同,因而完成同一工作所需时间也不同,设人员i完成工作j所需时间为,问如何分配工作,使得完成所有工作所用的总时间最少?Cij(称为效率矩阵)

这类问题称为指派问题(Assignment Problem),也称最优匹配问题,它是一类典型的0-1规划问题。

例5 有4个工人被分派做4项工作,每项工作只能一人做,每人只能做一项工作。现设每个工人做每项工作的耗时如表所示,求总耗时最少的分配方案。

表1时间表 时间单位:小时

工作 耗时 工人 1 2 3 4 1 2 3 4 15 19 26 19 18 23 17 21 21 22 16 23 24 18 19 17 解 设决策变量为xij(i,j?1,2,3,4),只取0或1。xij?1表示工人i完成工作

j;xij?0表示工人i不做工作j。

于是,上述问题的数学模型如下:

min z?15x11?18x12?21x13?24x14?19x21?23x22?22x23?18x24?26x31?17x32?16x33?19x34?19x41?21x42?23x43?17x44

?n??xij?1,i?1,2,3,4?j?1 s.. t?n?x?1,j?1,2,3,4?ij??i?1下面给出Matlab计算程序。

>> f=[15;18;21;24;19;23;22;18;26;17;16;19;19;21;23;17]; o4=ones(1,4);z4=zeros(1,4); z8=zeros(1,8);z12=zeros(1,12);

Aeq1=[o4,z12;z4,o4,z8;z8,o4,z4;z12,o4];

e4=eye(4); Aeq2=[e4,e4,e4,e4]; Aeq = [Aeq1;Aeq2]; beq=ones(8,1);

[x,fv,exit]=bintprog(f,[],[],Aeq,beq); x=transpose(reshape(x,4,4)) 计算接可以得出: fv = 70 exit = 1 指派方阵 x =

1 0 0 0 0 0 0 1 0 0 1 0 0 1 0 0

它表示的最优指派方案为:工人1做工作1;工人2做工作4;工人3做工作3;工人4做工作2。该指派方案耗时最少,为70小时。

9.3 非线性规划

9.3.1 有约束的一元函数的极(最)小值

在MATLAB中使用fminbnd函数求一元函数y?f(x)在区间(x1,x2)上的极(最)小值。其调用格式有:

[x,fval,exitflag,output] = fminbnd(fun,x1,x2,options)

其中输入参数fun为目标函数的表达式字符串或MATLAB定义的M函数,x1和x2为自变量x的取值范围,options为指定优化参数选项;输出参数x为函数fun在区间x1

若参数exitflag>0,表示函数收敛于x,若exitflag=0,表示超过函数估计值

搜索更多关于: 第九章 最优化方法要点 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

A=[3,2,-1,4,2; 2,4, -2,-1,-2]; b=[5;5] ; [x,fval,exit,output]=bintprog(f,A,b) 输出结果: Optimization terminated. x = 1 1 1 0 0 fval = -5 exit = 1 output = iterations: 4 nodes: 1 time: 0.0781 algorithm: 'LP-based branch-and-bound' branchStrategy: 'maximum integer infeasibility' nod

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com