5-2单目标函数最优化

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

单目标函数最优化

1基本概念

(1) 设计变量(决策变量):在设计过程中进行选择并最终必须确定的各项独立参数。

(2) 最优化设计的维数:决策变量的数目称为最优化设计的维数,比如:1维、2维、3维设计问题。 (3) 设计空间:在最优化设计中由各决策变量的坐标轴所描述的空间称为设计空间。

当决策变量数目大于3时,n 维空间又称为超越空间。

注意:设计空间中的一个点(一组决策变量的值)就是一种设计方案。

(4) 目标函数:用决策变量表示的、反应所设计问题性能的函数表达式。

注意:最优化设计的过程就是选择合理的决策变量,使目标函数达到最优或找出目标函数的最小值(或最

大值)的过程。

(5) 单目标函数最优化问题:目标函数只有一个。

(6) 多目标函数最优化问题:目标函数(性能指标)有多个。 (7) 无约束优化、约束优化

(8) 线性规划(Linear Programming ,简记为LP ):目标函数和约束条件都是自变量(包括决策变量和

非决策变量)的线性函数。

非线性规划(Nonlinear Programming ,简记为NP ):如果目标函数和约束函数中至少有一个是自变量的非线性函数,这种规划问题就称为非线性规划问题。

2单目标函数最优化问题

exa: (生产计划问题)某企业计划生产甲、乙两种产品,这两种产品均需在A 、B 、C 三种不同设备上加工。每单位产品所耗用的设备工时、单位产品利润及各设备在某计划期内的工时限额如表1。试问应如何安排生产计划,才能使企业获得最大利润。

决策变量:计划期内甲、乙两种产品的产量,分别用1x 、2x 表示,其取值均为非负; 目标函数:计划期内两种产品的总利润,用z 表示,即

2143x x z +=

问题:总利润最大,即

2143m ax x x z +=

约束条件:1x 、2x 受到工时限额的约束,即

621≤+x x 8221≤+x x

622≤x

同时,甲、乙产品的产量为非负的,应有

01≥x ,02≥x

综上,该问题的数学模型(优化模型)为

⎪⎪⎩⎪⎪⎨

⎧≥≤≤+≤++=0

,62826

..43max 212212121x x x x x x x t s x x z (1) 其中,“..t s ”为“subject to ”(受约束于)的缩写。

(2) 模型求解

方法:线性规划的图解法

图解法适用条件:2维优化问题(几何含义:XOY 二维坐标系),即只有两个决策变量。 解 ①可行域图形的确定

LP 模型所有约束条件构成的公共部分。称为可行域图形。

因为0,21≥x x ,可行域在第一象限。第一个约束条件621≤+x x 表示半平面,此半平面是以直线

621≤+x x 为边界的在其左下方第一象限部分。类似地,可求出其余约束条件表示的半平面部分(见

图1)。图中的凸多边形OABCD 即为该例的可行域图形。

图1

凸多边形(包括其边界)上的每一点,都是本例LP 模型的一个可行解。因此凸多边形区域OABCD 是该LP 模型的可行解的集合,称为可行域,可行域中使目标函数达到最大(或最小)的点为最优点,最优点对应的坐标即为LP 的最优解,相应的函数值称为最优值。 ②目标函数的等值线与最优点的确定

考虑本例的目标函数

2143x x z +=

它代表以z 为参数,-3/4为斜率的一簇平行线。

由小到大给z 赋值,如令12,4,0=z 等可得到一组平行线(见图1),而位于同一直线上的点,具有相同的目标函数值,因而称其为等值线。垂直于这组平行线画一直线,取z 值沿此直线递增的方向,即为直线簇 2143x x z +=的法线方向(如图1),其为z 值增加最快的方向。

沿法线方向平行移动直线2143x x z +=,当移动到B 点时,z 值在可行域上达到最大,从而B 为最优点。求出B 点坐标,解

⎩⎨

⎧=+=+6

8

22121x x x x 得4*

1=x ,2*

2=x ,最优值为20max =z 。

故本例的最优生产方案为:日产甲产品4件,乙产品2件,每天可得最大利润20千元。 (3) 图解法求解工具:AutoCAD; MATLAB AutoCAD 步骤:

1) 设置极限(limits ):(-10,-10),(10,10) 2) 设置栅格间距:0.5 3) 打开栅格;

4) 绘制可行域图形(由各个约束条件对应直线构成的闭合凸多边形); 5) 绘制目标函数对应直线(等值线);

6) 沿目标函数法线方向平移目标函数等值线(offset );

7) 确定最优解,利用目标捕捉工具获取最优解对应点坐标(id )。 MATLAB :

函数:linprog 函数(具体参见该函数语法手册) 求解问题:最小化问题minf(x),约束条件为A*x<=b

格式:x=linprog(f,A,b,[],[],lb),lb 为向量X (x1,x2)的下限 实例中目标函数(1)需转换为等效的最小化形式:

2143m in x x z --=

首先输入下列系数: f=[-3;-4];

A=[1 1;1 2;0 2]; b=[6;8;6] lb=[0;0]

然后调用linprog 函数: x=linprog(f,A,b,[],[],lb)

相关文档
最新文档