1、石家庄经济学院 管理科学与工程学院,1,第十四章非线性规划,石家庄经济学院 管理科学与工程学院,2,14.1 引言,如果目标函数或约束条件中至少有一个是非线性函数时的最优化问题就叫做非线性规划问题。 与线性规划一样,非线性规划也是运筹学的一个重要分支,于 20 世纪 50 年代开始逐步形成,到20 世纪 70 年代开始处于兴旺发展时期。随着计算机技术的日益发展,很多领域越来越重视这门学科,应用非线性规划方法进行设计、管理等,非线性规划理论自身也得到了进一步的发展。,石家庄经济学院 管理科学与工程学院,3,与线性规划问题不同,非线性规划问题可以有约束条件,也可以没有约束条件。但无论如何,非线性规
2、划总可以用如下的一般形式来描述: min f(X) s.t. gi(X) 0,i = 1, , m (14.1.1) hj(X) = 0,j = 1, , l其中 X = (x1, x2, , xn)Rn,f,g,h是定义在 Rn 上的实值函数。,石家庄经济学院 管理科学与工程学院,4,如果采用向量表示法,则非线性规划的一般形式可以写成: min f(X) s.t. g(X) 0 h(X) = 0其中:g(X) = (g1(X), , gm(X)T, h(X) = (h1(X), , hl(X)T,至于求目标函数的最大值或约束条件为小于等于零的情况,都可通过取其相反数化为上述一般形式。,石家庄
3、经济学院 管理科学与工程学院,5,14.2 引例,引例 14.2.1 项目投资问题。有一投资者有资金 5000 美元和两个可能的投资项目,令 xj(j = 1, 2)表示他分配到投资项目 j 的资金(以千美元为单位)。从历史资料分析,投资项目 1 和 2 分别有预计的年收益 20% 和 16%,同时与项目 1 和 2 有关的总的风险损失由总收益的方差来衡量,由式 2x12 + x22 + (x1+x2)2 给出,即风险损失随着总投资和单项投资的增加而增加。投资者希望使期望的收益为最大,同时使风险损失为最小,应怎样进行投资?,石家庄经济学院 管理科学与工程学院,6,建立模型:maxZ = 1.2
4、x1 + 1.16x2 2x12 + x22 + (x1 + x2)2 s.t. x1 + x2 5 x1, x2 0其中非负常数 反映风险损失和收益之间的权衡。 当 = 0 时,他将资金全部投到最大期望收益的项目,属冒险型; 当 时,期望回收的目标收益可以忽略不计,他主要考虑使风险损失为最小。,石家庄经济学院 管理科学与工程学院,7,引例14.2.2 生产计划问题。某化学公司合成了一种新肥料,只用两种可互相替换的基本原料来制造。公司想利用这个机会生产尽可能多的这种新肥料,公司目前有资金 40000 美元,可购买单价分别为 8000 美元和 5000 美元的原料。当用数量为 x1 和 x2 两
5、种原料合成时,肥料的数量Q 由下式给出:Q = 4x1 + 2x2 0.5x12 0.25x22 试确定购买原料的计划。,石家庄经济学院 管理科学与工程学院,8,建立模型: max Q = 4x1 + 2x2 0.5x12 0.25x22 s.t. 8x1 + 5x2 40 x1, x2 0,石家庄经济学院 管理科学与工程学院,9,引例14.2.3 供应与选址问题。某公司有 6 个建筑工地要开工,每个工地的位置(用平面坐标系 a,b 表示,距离单位:千米)及水泥日用量 d(吨)由下表给出。目前有两个临时料场位于 A(5, 1),B(2, 7),日储量各有 20 吨。假设从料场到工地之间均有直线
6、道路相连。,石家庄经济学院 管理科学与工程学院,10,(1) 试制定每天的供应计划,即从 A,B 两料场分别向各工地运送多少吨水泥,使总的吨千米数最小。 (2) 为了进一步减少吨千米数,打算舍弃两个临时料场,改建两个新的,日储量各为 20吨,问应建在何处,节省的吨千米数有多大?,石家庄经济学院 管理科学与工程学院,11,建立模型:记工地的位置为 (ai,bi),水泥日用量为 di,i =1, , 6;料场位置为 (xj,yj),日储量为 ej,j =1, 2;从料场 j 向工地 i 的运送量为 Xij。于是,石家庄经济学院 管理科学与工程学院,12,当使用临时料场时,决策变量为:Xij(此时,
7、x1 = 5,x2 = 2,y1 = 1,y2 = 7); 当不使用临时料场时,决策变量为:Xij,xj,yj。,石家庄经济学院 管理科学与工程学院,13,14.3 非线性规划问题的求解,尽管非线性规划也有相当丰富的求解方法,但远不如线性规划那样具有高效、通用的解法。一般来说,求解非线性规划问题要比求解线性规划问题困难的多,目前还没有适合于各种问题的一般算法,各个算法都有一定的局限性。,石家庄经济学院 管理科学与工程学院,14,定义 14.3.1 记非线性规划问题的可行域为 K。 (1) 若 x*K,且对于 xK,都有 f(x*) f(x),则称 x* 是非线性规划的全局最优解,f(x*) 是
8、其全局最优值。如果对 xK,x x*,都有 f(x*) f(x),则称x* 是非线性规划的严格全局最优解,f(x*) 是其严格全局最优值。,石家庄经济学院 管理科学与工程学院,15,(2) 若 x*K,且存在 x* 的邻域 N(x*),对于 xN(x*)K,都有 f(x*) f(x),则称 x* 是非线性规划的局部最优解,f(x*) 是其局部最优值。如果对 xN(x*)K,x x*,都有 f(x*) 0 0.4x12 0.6x22 0 (x1 500)x2 = 0 (x2 500)x3 = 0 x1 500, x2 500, x3 500 x11, x12, x21, x22, x1, x2,
9、 x3 0,石家庄经济学院 管理科学与工程学院,39,求解上述模型得:x11 = 500,x12 = 0,x21 = 500,x22 = 0,x1 = 0,x2 = 0,x3 = 0。 于是,该公司应该利用库存的 500 吨原油A 和 500 吨原油 B 生产 1000 吨汽油甲,不购买新的原油 A,此时总利润为 4800000元。 注:上述模型中,约束条件 (x1 500)x2 = 0的含义为:只有 x1 = 500 时,才有可能 x2 0;而约束条件 (x2 500)x3 = 0 的含义为:只有 x2 = 500 时,才有可能 x3 0。,石家庄经济学院 管理科学与工程学院,40,方法二
10、引入 01 变量将方法一中的约束条件 (x1 500)x2 = 0 和 (x1 500)x2 = 0 转化为线性约束。 令 y1 = 1,y2 = 1,y3 = 1 分别表示以 10 千元/吨、8 千元/吨、6 千元/吨的价格采购原油A,则方法一中给出的模型可以转化为如下的 01 规划模型:,石家庄经济学院 管理科学与工程学院,41,max Z = 4.8(x11 + x21) + 5.6(x12 + x22) (10x1 + 8x2 + 6x3) s.t. x11 + x12 500 + (x1 + x2 + x3) x21 + x22 1000 0.5x11 0.5x21 0 0.4x12
11、 0.6x22 0 500y2 x1 500y1 500y3 x2 500y2 x3 500y3 x11, x12, x21, x22, x1, x2, x3 0 y1, y2, y30, 1,石家庄经济学院 管理科学与工程学院,42,求解上述模型得:y1 = 1,y2 = 1,y3 = 1,x11 = 0,x12 = 1500,x21 = 0,x22 = 1000,x1 = 500,x2 = 500,x3 = 0。 于是,该公司的采购与加工计划应该为:购买 1000 吨原油 A,与库存的 500 吨原油 A 和 1000 吨原油 B 一起,共生产 2500 吨汽油乙,此时总利润为 50000
12、00 元。这种方案高于非线性规划求得的方案。,石家庄经济学院 管理科学与工程学院,43,方法三 直接处理分段线性函数 c(x)。 记 x 轴上的分点为 b1 = 0,b2 = 500,b3 = 1000,b4 = 1500。当 x 在第 1 个小区间 b1, b2 时,记 x = z1b1 + z2b2,z1 + z2 = 1,z1, z2 0。因为 c(x) 在区间 b1, b2 内是线性的,所以 c(x) = z1c(b1) + z2c(b2)。同样,当 x 在第 2 个小区间 b2, b3 内时,x = z2b2 + z3b3,z2 + z3 = 1,z2, z3 0,c(x) = z2
13、c(b2) + z3c(b3)。当 x 在第 3 个小区间 b3, b4 内时,x = z3b3 + z4b4,z3 + z4 = 1,z3, z4 0,c(x) = z3c(b3) + z4c(b4)。,石家庄经济学院 管理科学与工程学院,44,为了表示 x 在哪个小区间,引入 01 变量yk(k = 1, 2, 3),当 x 在第 k 个小区间时,yk = 1,否则,yk = 0。这样,z1, z2, z3, z4, y1, y2, y3 应满足 z1 y1,z2 y1 + y2,z3 y2 + y3,z4 y3, z1 + z2 + z3 + z4 = 1,zk 0(k = 1, 2,
14、3, 4) y1 + y2 + y3 = 1,y1, y2, y30, 1,石家庄经济学院 管理科学与工程学院,45,此时,x 和 c(x) 可以统一地表示为 x = z1b1 + z2b2 + z3b3 + z4b4 = 500z2 + 1000z3 + 1500z4 c(x) = z1c(b1) + z2c(b2) + z3c(b3) + z4c(b4) = 5000z2 + 9000z3 + 12000z4于是,得到一个整数规划模型,石家庄经济学院 管理科学与工程学院,46,max Z = 4.8(x11 + x21) + 5.6(x12 + x22) (5000z2 + 9000z3
15、+ 12000z4) s.t. x11 + x12 500 + (500z2 + 1000z3 + 1500z4) x21 + x22 1000 0.5x11 0.5x21 0 0.4x12 0.6x22 0 z1 y1,z2 y1 + y2,z3 y2 + y3,z4 y3, z1 + z2 + z3 + z4 = 1,zk 0(k = 1, 2, 3, 4) y1 + y2 + y3 = 1,y1, y2, y30, 1 x11, x12, x21, x22 0,石家庄经济学院 管理科学与工程学院,47,求解这个模型,得到的结果与方法二相同。 注:这个范例的关键是处理分段线性函数,我们推荐化为整数规划模型的方法二和方法三。方法三更具有一般性。,石家庄经济学院 管理科学与工程学院,48,实验作业,供应与选址问题发动机生产计划问题,