非线性规划——非线性规划的标准型(一)

非线性规划是一种求解目标函数或约束条件中有一个或几个非线性函数的最优化问题的方法。运筹学的一个重要分支。20世纪50年代初,库恩(H.W.Kuhn) 和塔克 (A.W.Tucker) 提出了非线性规划的基本定理,为非线性规划奠定了理论基础。20世纪80年代以来,随着计算机技术的快速发展,非线性规划方法取得了长足进步,在信赖域法、稀疏拟牛顿法、并行计算、内点法和有限存储法等领域取得了丰硕的成果。非线性规划在工业工程、交通运输、经济管理和军事等方面有广泛的应用。

一、非线性规划实例

[资源配置问题]一容器由圆锥面和圆柱面围成。表面积为S,圆锥部分高为hh和圆柱部分高x2之比为ax1为圆柱底圆半径,求x1x2,使容积最大。

maxV=(1+a/3)πx12x2s.t.{πx1x12+a2x22+2πx1x2+πx12=Sx10,x20

[生产管理问题] 某电视机制造厂生产二款电视机A和B。已知电视机A每月最大的销售量为500台,电视机B每月的最大销售量为400台。工厂采用随销售量增加而递减销售价格的定价方式对电视机进行定价,那么单台电视机的利润是随着销售量的增加而递减。
分别以XAXB表示电视机A和B的月销售量,那么电视机A的销售收入可以表示为:

300XA150500XA2

它说明第一部A型电视机的利润为300元,最后一部(第500) 型电视机的利润为150元。电视机B的销售收入可以表示为:

200XB100400XB2

电视机的生产受到下下述条件限制:
装配工时限制:每月最多可供使用的工时是1200小时,而装配一台电视机A 需要2工时,装配一台电视机B需要1工时。
机器加工能力限制:每日最多可供使用的机时是1350小时,加工一台电视机A需要1机时,加工一台电视机B需要3机时。
那么,如何决定每种电视机的月产量,使月销售收入最大。
如果我们以二款电视机的月销售收入之和作为目标函数,则电视机生产管理的最优化问题被表示为:

minS=300XA0.3XA2+200XB0.25XB2s.t.{2XA+XB1200XA+3XB1350XA500XB400XA,XB0

[投资组合管理]xii=1,2,...,n为持有第i种证券品种的比例,满足i=1nxi=1ri为第i种证券品种的收益率,ρ 为投资组合的收益率,Q为证券品种的方差-协方差矩阵等于:

Q=[q11q12q1nq21q22q2nqn1qn2qnn]

数学规划模型为:

minj=1ni=1nqijxixjs.t.{i=1nrixiρi=1nxi=1xi0,i=1,2,...,n

二、非线性规划的标准型

从上面实例归结出非线性规划的标准型:

minf(X)s.t.gi(X)0,i=1,2,...,mhj(X)=0,j=1,2,...,l

其中 X=(x1,x2,...,xn)TEn,表示Xn维欧氏空间En 中的向量或点,f,gi,hj是定义在 En上的实值函数,简记为

f:EnE,gi:EnE,hj:EnE

!!!注意:这里模型不等式约束是小于等于,与清华运筹学标准型相差一个符号,这是为了和软件处理相匹配。

非线性规划与线性规划有本质的区别:
模型函数成分不同:线性规划主要是由确定的等式构成方程组,去求解目标函数的极值问题,全是线性成分(一次式);而非线性规划构成的方程组并不是等式,而是不等式,通过不等式的约束条件,去求解目标函数的极值(有非线性成分,例如平方)。
最优解范围不同:如果最优解存在,线性规划只能存在可行域的边界上找到(一般还是在顶点处),而非线性规划的最优解可能存在于可行域的任意一点达到。

非线性规划模型的可行域可以表示为:

X:={xRnhi(x)=0,i=1,2,,mgj(x)0,j=1,2,,l}

[极值点]xX,XRn,f:RnR
(1) 如果 xX, 并且存在 x 的邻域 N(x)={xRn:xxδ,δ0} 使得:

f(x)f(x)xXN(x)

x 是非线性规划的局部最优解或局部极小点, 称 f(x) 是非线性规划的局部最优值或局部极小值。
(2) 如果 xX, 并且存在 x 的邻域 N(x)={xRn:xxδ,δ0} 使得:

f(x)<f(x)x(XN(x)){x}

x 是非线性规划的严格局部最优解或严格局部极小点, 称 f(x) 是非线性规划的严格局部最优值或严格局部极小值。

例1 考虑下述带等式约束的非线性规划问题。非线性规划的可行域X是连接点(2,0)和点(0,2)直线上的所有点,目标函数与可行域的交点为x=(1,1),它是非线性规划的全局最优解,全局最优值为f(x)=1

非线性规划模型 图形

例2 考虑下述带等式约束的非线性规划问题。其可行域X是以原点为中心,半径等于(2)的圆周长上的所有点,可行域的最小相交点为(1,1) ,它是非线性规划的全局最优解,全局最优值为f(x)=2

非线性规划模型 图形

例3 某公司有6个建筑工地要开工,每个工地的位置(用平面坐标系ab表示,距离单位:km)及水泥日用量dt由下表给出。目前有两个临时料场位于A(5,1)B(2,7),日储量各有20t。假设从料场到工地之间均有直线道路相连,(1)试制定每天的供应计划,即从A,B两料场分别向各工地运送多少吨水泥,使总的吨千米数最小;(2)为进一步减少吨千米数,打算舍弃这两个临时料场,改建两个新的,日储量各为20t。问应建在何处,节省的吨千米数为多大?

1 2 3 4 5 6
a 1.25 8.75 0.5 5.75 3 7.25
b 1.25 0.75 4.75 5 6.5 7.75
d/t 3 5 4 7 6 11

建立数学模型:

第一步,设定建立数学模型所需用到的符号,并分析确定出决策变量:
(1)设工地的位置为(ai,bi),水泥日用量为 d_i,i=1,2,...,6; 料场位置为 (xj,yj) ,日储量为 ej,j=1,2; 从料场j向工地i的运送量为Xij
(2)使用临时料场时xj,yj(j=1,2)是确定的常量,所以决策变量只有 Xij 。而不使用临时料场时 xj,yj(j=1,2) 不确定,所以决策变量有 xj,yj,Xij
第二步,确定约束条件:
料场水泥运输总量不超过其日储量: i=16Xijej,j=1,2
两个料场向某工地运输量之和等于该工地水泥日用用量j=12Xij=di,i=1,2,...,6
第三步,确定目标函数:
求吨千米数,即运送量乘以运送距离的集合:

minf=j=12i=16Xij(xjai)2+(yjbi)2

综上可得,题目的规划模型为:

minf=j=12i=16Xij(xjai)2+(yjbi)2i=16Xijej,j=1,2j=12Xij=di,i=1,2,...,6

第一小问(1)由于只有一个决策变量,且目标函数和约束条件都可以线性表示,所以求解第一小问就是求解线性规划模型。利用相关软件计算可得最优值为 136.2275,最优解由下表给出,所以由临时料场A,B向6个工地运料方案为:

1 2 3 4 5 6
A 3 5 0 7 0 1
B 0 0 4 0 6 10

第二小问(2)的目标函数是非线性的,且是非线性多变量函数,所以求解第二小问才是求解非线性规划模型。利用相关软件计算可得最优值为90.4920,新建料场坐标为A(5.7297,4.9757)、B(7.2500,7.7500),运料方案为:

1 2 3 4 5 6
A 2.9410 4.8405 3.8779 6.9431 1.3033 0.0221
B 0.0590 0.1595 0.1221 0.0569 4.6967 10.9779

三、非线性模型细分与准备知识

3.1 模型进阶分类

为便于分析和研究,非线性规划模型常常按约束条件可分为以下三类:
无约束

minf(x)xRn

解法一般就这几种方法:(1)梯度法,(2)牛顿法(3)拟牛顿法。

只有等式约束

minf(x)s.t.hj(x)=0,j=1,2,l

解法一般有消元法,拉格朗日乘子法,罚函数法。
有不等式约束

minf(x)s.t.gi(x)0,i=1,2,m

求解思路通常由繁化简,将不等式约束化为等式约束,将约束问题化为无约束问题,将非线性问题化为线性问题。最经典的理论就是Kuhn-Tucker提出的,即kt条件,它说极值点一定满足这样条件,我们遇到的问题一般为凸函数问题,于是kt条件就变为了充要条件,我们找到满足kt条件的点就找到了目标点。

3.2 准备知识

[多元函数泰勒展开式]u=f(x) 在点x0SRn,f(x)在点x0处的某个邻域具有二阶连续偏导数,令0θ1 ,则有

f(x0+Δx)=f(x0)+f(x0)TΔx+12ΔxT2f(x0+θΔx)Δx=f(x0)+f(x0)TΔx+o(Δx)=f(x0)+f(x0)TΔx+12ΔxT2f(x0)Δx+o(Δx2)

[梯度] 函数f(x):RnR,如果f(x)是连续函数,且存在一阶偏导数,则称向量

f(x)=(f(x)x1,f(x)x2,...,f(x)xn)T

f(x)在点x处的一阶偏导数或梯度。

[方向导数] 考虑函数Z=f(x1,x2),及方向I=cosϕi+sinϕj,则

fl=fx1cosϕ+fx2sinϕ=(fx1,fx2)(cosϕsinϕ)=f(x1,x2)Tl=gardf(x1,x2)l=||gardf(x1,x2)||cos(gardf(x1,x2),l)

[海塞矩阵] 函数f(x):RnR,如果f(x)存在二阶偏导数,则称矩阵

2f(x)=[2f(x)x122f(x)x1x22f(x)x1xn2f(x)x2x12f(x)x222f(x)x2xn2f(x)xnx12f(x)xnx22f(x)xn2]

f(x)在点x处的二阶偏导数矩阵,通常称其为海塞(Hessian )矩阵。

参考文献

数学建模、运筹学之非线性规划
数学规划模型(2)-非线性规划

posted @   郝hai  阅读(1033)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
点击右上角即可分享
微信分享提示