- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
单目标函数最优化.doc
单目标函数最优化
1基本概念
设计变量(决策变量):在设计过程中进行选择并最终必须确定的各项独立参数。
最优化设计的维数:决策变量的数目称为最优化设计的维数,比如:1维、2维、3维设计问题。
设计空间:在最优化设计中由各决策变量的坐标轴所描述的空间称为设计空间。
当决策变量数目大于3时,n维空间又称为超越空间。
注意:设计空间中的一个点(一组决策变量的值)就是一种设计方案。
目标函数:用决策变量表示的、反应所设计问题性能的函数表达式。
注意:最优化设计的过程就是选择合理的决策变量,使目标函数达到最优或找出目标函数的最小值(或最大值)的过程。
单目标函数最优化问题:目标函数只有一个。
多目标函数最优化问题:目标函数(性能指标)有多个。
无约束优化、约束优化
线性规划(Linear Programming,简记为LP):目标函数和约束条件都是自变量(包括决策变量和非决策变量)的线性函数。
非线性规划(Nonlinear Programming,简记为NP):如果目标函数和约束函数中至少有一个是自变量的非线性函数,这种规划问题就称为非线性规划问题。
2单目标函数最优化问题
exa: (生产计划问题)某企业计划生产甲、乙两种产品,这两种产品均需在A、B、C三种不同设备上加工。每单位产品所耗用的设备工时、单位产品利润及各设备在某计划期内的工时限额如表1。试问应如何安排生产计划,才能使企业获得最大利润。
表1
设备
单位产品耗工时
甲乙工时限额A116B128C026单位利润34数学模型(优化模型)的建立
决策变量:计划期内甲、乙两种产品的产量,分别用、表示,其取值均为非负;
目标函数:计划期内两种产品的总利润,用表示,即
问题:总利润最大,即
约束条件:、受到工时限额的约束,即
同时,甲、乙产品的产量为非负的,应有
,
综上,该问题的数学模型(优化模型)为
(1)
其中,“”为“subject to”(受约束于)的缩写。
模型求解
方法:线性规划的图解法
图解法适用条件:2维优化问题(几何含义:XOY二维坐标系),即只有两个决策变量。
解 ①可行域图形的确定
LP模型所有约束条件构成的公共部分。称为可行域图形。
因为,可行域在第一象限。第一个约束条件表示半平面,此半平面是以直线为边界的在其左下方第一象限部分。类似地,可求出其余约束条件表示的半平面部分(见图1)。图中的凸多边形OABCD即为该例的可行域图形。
图1
凸多边形(包括其边界)上的每一点,都是本例LP模型的一个可行解。因此凸多边形区域OABCD是该LP模型的可行解的集合,称为可行域,可行域中使目标函数达到最大(或最小)的点为最优点,最优点对应的坐标即为LP的最优解,相应的函数值称为最优值。
②目标函数的等值线与最优点的确定
考虑本例的目标函数
它代表以为参数,-3/4为斜率的一簇平行线。
由小到大给赋值,如令等可得到一组平行线(见图1),而位于同一直线上的点,具有相同的目标函数值,因而称其为等值线。垂直于这组平行线画一直线,取值沿此直线递增的方向,即为直线簇 的法线方向(如图1),其为值增加最快的方向。
沿法线方向平行移动直线,当移动到B点时,值在可行域上达到最大,从而B为最优点。求出B点坐标,解
得,,最优值为。
故本例的最优生产方案为:日产甲产品4件,乙产品2件,每天可得最大利润20千元。
图解法求解工具:AutoCAD; MATLAB
AutoCAD步骤:
设置极限(limits):(-10,-10),(10,10)
设置栅格间距:0.5
打开栅格;
绘制可行域图形(由各个约束条件对应直线构成的闭合凸多边形);
绘制目标函数对应直线(等值线);
沿目标函数法线方向平移目标函数等值线(offset);
确定最优解,利用目标捕捉工具获取最优解对应点坐标(id)。
MATLAB:
函数:linprog函数(具体参见该函数语法手册)
求解问题:最小化问题minf(x),约束条件为A*x=b
格式:x=linprog(f,A,b,[],[],lb),lb为向量X(x1,x2)的下限
实例中目标函数(1)需转换为等效的最小化形式:
首先输入下列系数:
f=[-3;-4];
A=[1 1;1 2;0 2];
b=[6;8;6]
lb=[0;0]
然后调用linprog函数:
x=linprog(f,A,b,[],[],lb)
文档评论(0)