第二十六章经济与金融中的优化问题 本章主要介绍用LNGO软件求解经济、金融和市场营销方面的几个优化问题的案 例。 §1经济均衡问题及其应用 在市场经济活动中。当市场上其种产品的价格越高时,生产商越是愿意扩大生出 能力(供应能力),提供更多的产品满足市场需求 但市场价格太高时,消费者的消费 欲望(需求能力)会下降。反之,当市场上某种商品的价格越低时,消费者的消费欲 (需求能力)会上升,但生产商的供应能力会下降。如果生产商的供应能力和消费者的 需求能力长期不匹配,就会导致经济不稳定。在完全市场竞争的环境中,我们总是认为 经济活动应当达到均衡(equilibrium),即生产和消费(供应能力和需求能力)达到平 不再发生变化 这时该商品的价格就是市场的清算价格。 下面考: 两 简单的单 一市场及双边市场的具体实例,并介绍经济均衡思想在拍 卖与投标问题、交通流分配问题中的应用案例。 1.1单一生产商、单一消费者的情形 例1假设市场上只有一个生产商(记为甲)和一个消费者(记为乙)。对某种商 品,他们在不同价格下的供应能力和需求能力如表1所示。举例来说,表中数据的含义 :当单价低于2万元但大于或等于1万元时,甲愿意生产21产品,乙愿意购买81产 当单价等于或低于9万元但大于45万元时,乙愿意购买2t产品,甲愿意生产8 产品:依次类推。那么的市场价格应该是多少? 表1不同价格下的供应能力和需求能力 生产商(甲) 消费者(乙 单价(万元) 供应能力()单价(万元A) 需求能力() 1 2 9 2 2 4 45 4 6 3 6 4 2.25 8 (1)问题分析 仔细观察一下表1就可以看出来,这个具体问题的解是一目了然的:清算价格显 然应该是3万元,因为此时供需平衡(都是6)。为了能够处理一般情况,下面通过 建立优化模型来解决这个问题 这个问题给人的第一印象似乎没有明确的目标函数,不太像是一个优化问题。不 过,我们可以换一个角度来想问题:假设市场上还有一个虚拟的经销商,他是甲乙进行 交易的中介。那么,为了使自己获得的利润最大,他将总是以可能的最低价格从甲购买 产品,再以可能的最高价格卖给乙,直到进一步的交易无利可图为止。例如,最开始的 -348-
-348- 第二十六章 经济与金融中的优化问题 本章主要介绍用 LINGO 软件求解经济、金融和市场营销方面的几个优化问题的案 例。 §1 经济均衡问题及其应用 在市场经济活动中,当市场上某种产品的价格越高时,生产商越是愿意扩大生产 能力(供应能力),提供更多的产品满足市场需求;但市场价格太高时,消费者的消费 欲望(需求能力)会下降。反之,当市场上某种商品的价格越低时,消费者的消费欲望 (需求能力)会上升,但生产商的供应能力会下降。如果生产商的供应能力和消费者的 需求能力长期不匹配,就会导致经济不稳定。在完全市场竞争的环境中,我们总是认为 经济活动应当达到均衡(equilibrium),即生产和消费(供应能力和需求能力)达到平 衡,不再发生变化,这时该商品的价格就是市场的清算价格。 下面考虑两个简单的单一市场及双边市场的具体实例,并介绍经济均衡思想在拍 卖与投标问题、交通流分配问题中的应用案例。 1.1 单一生产商、单一消费者的情形 例 1 假设市场上只有一个生产商(记为甲)和一个消费者(记为乙)。对某种商 品,他们在不同价格下的供应能力和需求能力如表 1 所示。举例来说,表中数据的含义 是:当单价低于 2 万元但大于或等于 1 万元时,甲愿意生产 2t 产品,乙愿意购买 8t 产 品;当单价等于或低于 9 万元但大于 4.5 万元时,乙愿意购买 2t 产品,甲愿意生产 8t 产品;依次类推。那么的市场价格应该是多少? 表 1 不同价格下的供应能力和需求能力 生产商(甲) 消费者(乙) 单价(万元/t) 供应能力(t) 单价(万元/t) 需求能力(t) 1 2 2 4 3 6 4 8 9 2 4.5 4 3 6 2.25 8 (1)问题分析 仔细观察一下表 1 就可以看出来,这个具体问题的解是一目了然的:清算价格显 然应该是 3 万元/t,因为此时供需平衡(都是 6t)。为了能够处理一般情况,下面通过 建立优化模型来解决这个问题。 这个问题给人的第一印象似乎没有明确的目标函数,不太像是一个优化问题。不 过,我们可以换一个角度来想问题:假设市场上还有一个虚拟的经销商,他是甲乙进行 交易的中介。那么,为了使自己获得的利润最大,他将总是以可能的最低价格从甲购买 产品,再以可能的最高价格卖给乙,直到进一步的交易无利可图为止。例如,最开始的
21产品他将会以1万元的单价从甲购买,以9万元的单价卖给乙:接下来的21产品他 会以2万元的单价从甲购买,再以4.5万元的单价卖给乙:再接下来的2t产品他只能以 3万元的单价从甲购买,再以3万元的单价卖给乙(其实这次交易他已经只是保本,但 我们仍然假设这笔交易会发生,例如他为了使自己的营业额尽最大): 最后, 续购买甲的产品卖给乙,他一定会亏本,所以他肯定不会交易。因此,市场清算价格就 是3万元。根据这个想法,我们就可以建立这个问题的线性规划模型。 (2)模型律立 决策变量:设甲以1万元,2万元,3万元,4万元的单价售出的产品数量(单位: D分别是x,2,x,x4,乙以9万元,45万元,3万元,225万元的单价购买的产品 数量(单位:)分别是,2,乃y4· 目标函数:就是虚拟经销商的总利润,即 9y+4.5y2+3y+2.5y4-x-2x2-3x3-4x (1) 约束条件 供需平衡∑=∑y (2) 供应限制x,≤2,1=1,2,3,4 (3) 消费限制y≤2,i=1,2,3,4 (4) 非负限制x,y,20,i=1,2,3,4 (5) (3)模型求解 式(1)~(5)是一个线性规划模型,可以用LNG0求解,对应的LNGO程序 如下: model: 80十8: gx/1.4/:c1,c2,x,y endsets data: c1=1234; c2=9,4.5,3,2.5 enddata max-@sum (gx:c2*y-cl*x) @sum(gx:x)=@sum (gx:y)i efor (ax:@bnd(0,x,2):@bnd(0,y,2)); -349
-349- 2t 产品他将会以 1 万元的单价从甲购买,以 9 万元的单价卖给乙;接下来的 2t 产品他 会以 2 万元的单价从甲购买,再以 4.5 万元的单价卖给乙;再接下来的 2t 产品他只能以 3 万元的单价从甲购买,再以 3 万元的单价卖给乙(其实这次交易他已经只是保本,但 我们仍然假设这笔交易会发生,例如他为了使自己的营业额尽量大);最后,如果他继 续购买甲的产品卖给乙,他一定会亏本,所以他肯定不会交易。因此,市场清算价格就 是 3 万元。根据这个想法,我们就可以建立这个问题的线性规划模型。 (2)模型建立 决策变量:设甲以 1 万元,2 万元,3 万元,4 万元的单价售出的产品数量(单位: t)分别是 1 2 3 4 x , x , x , x ,乙以 9 万元,4.5 万元,3 万元,2.25 万元的单价购买的产品 数量(单位:t)分别是 1 2 3 4 y , y , y , y 。 目标函数:就是虚拟经销商的总利润,即 1 2 3 5 4 1 2 2 3 3 4 4 9y + 4.5y + 3y + 2. y − x − x − x − x (1) 约束条件: 供需平衡 ∑ ∑ = = = 4 1 4 1 i i i i x y (2) 供应限制 xi ≤ 2,i =1,2,3,4 (3) 消费限制 yi ≤ 2 ,i = 1,2,3,4 (4) 非负限制 xi , yi ≥ 0 ,i = 1,2,3,4 (5) (3)模型求解 式(1)~(5)是一个线性规划模型,可以用 LINGO 求解,对应的 LINGO 程序 如下: model: sets: gx/1.4/:c1,c2,x,y; endsets data: c1=1 2 3 4; c2=9,4.5,3,2.5; enddata max=@sum(gx:c2*y-c1*x); @sum(gx:x)=@sum(gx:y); @for(gx:@bnd(0,x,2);@bnd(0,y,2));
end 求解这个模型,得到如下解答: Global optimal solution found at iteration objective value 21.00000 Variable Value Reduced Cos c1(1) 1.000000 0.000000 C1t2} 2.000000 0.000000 c1(3) 3.000000 0.000000 c1(4) 4.000000 0.000000 1 9.00000 0.00000 c2(2】 4.500000 0.000000 C2(3) 3.000000 0.000000 C2t4} 2.500000 0.000000 2.000000 -2.000000 2.0000 -1.00000 ×(3) 0.00000 0.000000 X(4) 0.000000 1.000000 YOIX 2.000000 -6.000000 y121 200000n -1.500000 0.000000 0.000000 ¥(4) 0.00000 0.500000 Row slack or Surplus Dual Price 21.00000 1000000 0.000000 -3.000000 (4)结果解释 可以看出,最优解为x=x2=片=为2=2,x3=x4=片=4=0。但你肯定觉 得这还是没有解决问题,甚至认为这个模型错了,因为这个解法没有包括3万元单价的 21交易量。虽然容易验证x==x3=片==为=0,x==0也是最优解, 但在一般情况下是难以保证一定求出这个解的。 那么如何才能确定清算价格呢?请仔细思考一下供需平衡约束(2)的对偶价格 (dual prices)的含义。对偶价格又称影子价格,表示的是对应约束的右端项的价值。 供需平衡约束目前的右端项为0。影千价格为一3,意思就是说如果右端项增加一个很 小的量(即甲的供应量增加一个很小的量 ,引起的经销商的损失就是这个小量的3倍 可见,此时的销售单价就是3万元,这就是清算价格。 (5)模型扩展 一般地,可以假设甲的供应能力随价格的变化情况分为K段,即价格位于区间 350
-350- end 求解这个模型,得到如下解答: Global optimal solution found at iteration: 5 Objective value: 21.00000 Variable Value Reduced Cost C1( 1) 1.000000 0.000000 C1( 2) 2.000000 0.000000 C1( 3) 3.000000 0.000000 C1( 4) 4.000000 0.000000 C2( 1) 9.000000 0.000000 C2( 2) 4.500000 0.000000 C2( 3) 3.000000 0.000000 C2( 4) 2.500000 0.000000 X( 1) 2.000000 -2.000000 X( 2) 2.000000 -1.000000 X( 3) 0.000000 0.000000 X( 4) 0.000000 1.000000 Y( 1) 2.000000 -6.000000 Y( 2) 2.000000 -1.500000 Y( 3) 0.000000 0.000000 Y( 4) 0.000000 0.5000000 Row Slack or Surplus Dual Price 1 21.00000 1.000000 2 0.000000 -3.000000 (4)结果解释 可以看出,最优解为 2 x1 = x2 = y1 = y2 = , x3 = x4 = y3 = y4 = 0。但你肯定觉 得这还是没有解决问题,甚至认为这个模型错了,因为这个解法没有包括 3 万元单价的 2t 交易量。虽然容易验证 x1 = x2 = x3 = y1 = y2 = y3 = 0, 0 x4 = y4 = 也是最优解, 但在一般情况下是难以保证一定求出这个解的。 那么如何才能确定清算价格呢?请仔细思考一下供需平衡约束(2)的对偶价格 (dual prices)的含义。对偶价格又称影子价格,表示的是对应约束的右端项的价值。 供需平衡约束目前的右端项为 0,影子价格为-3,意思就是说如果右端项增加一个很 小的量(即甲的供应量增加一个很小的量),引起的经销商的损失就是这个小量的 3 倍。 可见,此时的销售单价就是 3 万元,这就是清算价格。 (5)模型扩展 一般地,可以假设甲的供应能力随价格的变化情况分为 K 段,即价格位于区间
[D,P)时,供应量最多为C4(k=1,2,.,K:0<B<P2<.<P4=D: 0=C。<C<C,<.<Cx),我们把这个函数关系称为供应函数(这里它是一个阶梯 函数).同理,假设乙的消费能力随价格的变化情况分为L段,即价格位于区间(q,9,】 时,消费量最多为d(j=1,2,.,L:91>.>q,>q4=0:0=d<d,<.d2), 我们把这个函数关系称为需求函数(这里它也是一个阶梯函数)。 设甲以P:的价格售出的产品数量为x(k=1,2,.,K),乙以q,的价格购入的产 品数量为y,(广=1,2,.,L)。记c=d。=0,则可以建立如下所示的线性规划模型: mas (6) s12-y=0 (7) 0≤x4≤C-Ck=l,2,.,K (8) 0≤y,≤d-d-,j=12,.,L (9) 1.2两个生产商、两个消费者的情形 例2假设市场上除了例1中的甲和乙外,还有另一个生产商(记为丙)和另一个 消费者(记为丁)。他们在不同价格下的供应能力和需求能力如表2所示。此外,从甲 销售到丁的每吨产品的运输成本是1.5万元,从丙销售到乙的每吨产品的运输成本是 万元,而甲、乙之间没有运输成本,丙、丁之间没有运输成木。这时,市场的清算价格 应该是多少?甲和丙分别生产多少?乙和丁分别购买多少? 表2不同价格下的供应能力和消费能力 生产商(丙) 生产商(丁) 单价(万元) 供应能力()单价(万元) 供应能力() 1 6 8 12 3 (1)问题分析 351
-351- [ , ) pk pk+1 时,供应量最多为 k c ( k =1,2,L,K ; 0 < p1 < p2 <L< pK+1 = ∞ ; CK 0 = c0 < c1 < c2 <L< ),我们把这个函数关系称为供应函数(这里它是一个阶梯 函数)。同理,假设乙的消费能力随价格的变化情况分为 L 段,即价格位于区间( , ] qj+1 qj 时,消费量最多为 d j ( j =1,2,L, L ; 0 q1 >L> qL > qL+1 = ;0 = d0 < d1 <LdL ), 我们把这个函数关系称为需求函数(这里它也是一个阶梯函数)。 设甲以 pk 的价格售出的产品数量为 k x ( k = 1,2,L,K ),乙以 qj 的价格购入的产 品数量为 j y ( j =1,2,L, L )。记c0 = d0 = 0 ,则可以建立如下所示的线性规划模型: ∑ ∑ = = − K k k k L j j j q y p x 1 1 max (6) s.t. 0 1 1 ∑ −∑ = = = L j j K k k x y (7) 0 ≤ k ≤ k − k−1 x c c ,k =1,2,L,K (8) 0 ≤ j ≤ d j − d j−1 y , j =1,2,L, L (9) 1.2 两个生产商、两个消费者的情形 例 2 假设市场上除了例 1 中的甲和乙外,还有另一个生产商(记为丙)和另一个 消费者(记为丁),他们在不同价格下的供应能力和需求能力如表 2 所示。此外,从甲 销售到丁的每吨产品的运输成本是 1.5 万元,从丙销售到乙的每吨产品的运输成本是 2 万元,而甲、乙之间没有运输成本,丙、丁之间没有运输成本。这时,市场的清算价格 应该是多少?甲和丙分别生产多少?乙和丁分别购买多少? 表 2 不同价格下的供应能力和消费能力 生产商(丙) 生产商(丁) 单价(万元/t) 供应能力(t) 单价(万元/t) 供应能力(t) 2 1 4 4 6 8 8 12 15 1 8 3 5 6 3 10 (1)问题分析
首先,我们看看为什么要考虑从甲销售到丁的产品的运输成本和从丙销售到乙的 产品的运输成本。如果不考虑这些运输成本,我们就可以认为甲乙丙丁处于同一个市场 上,因此可以将两个生产商(甲和丙)的供应函数合并成一个供应函数,合并后就可以 认为市场上仍然只有一个供应商。类似地 ,乙和丁的需求函数也可以合并成 个需求函 数,合并后就可以认为市场上仍然只有一个消费者。这样,就回到了例1的情形。 也就是说,考虑运输成本在经济学上的含义,应当是认为甲乙是一个市场(地区 或国家),而丙丁是另一个市场(地区或国家)。运输成本也可能还包括关税等成本,由 于这个成本的存在,两个市场的洁算价可能是不同的。 仍然按照例1的思路,可以建立这个问题的线性规划模型。 (2)模型的建立和求解 设甲以1,2,3,4(万元)的单价售出的产品数量(单位:t)分别是A,A,A,A, 乙以9,4.5,3,225(万元)的单价购买的产品数量(单位:)分别是X,X,X,X 丙以2,4,6,8(万元)的单价售出的产品数量(单位:t)分别是B,B2,B,B,丁 以15,8,5,3(万元)的单价购买的产品数量(单位:t)分别是Y,Y2,Y,Y4,此外, 假设AX和AY分别是甲向乙和丁的供货量,BX和BY分别是丙向乙和丁的供货量。 这些决策变量之间的关系参见示意图1 4 马骂 哭玉 图1决策变量之间的关系 目标函数仍然是虚拟经销商的总利润,约束条件仍然是四类(供需平衡、供应限制 需求限制和非负限制),不过这时应注意供需平衡约束应该是包括图】所示的决策变国 之间的关系: AX+AY=A++A+A (10) BX+BY=B+B2 +B+B (11) AX+BX=X+X+X:+X (12) -352
-352- 首先,我们看看为什么要考虑从甲销售到丁的产品的运输成本和从丙销售到乙的 产品的运输成本。如果不考虑这些运输成本,我们就可以认为甲乙丙丁处于同一个市场 上,因此可以将两个生产商(甲和丙)的供应函数合并成一个供应函数,合并后就可以 认为市场上仍然只有一个供应商。类似地,乙和丁的需求函数也可以合并成一个需求函 数,合并后就可以认为市场上仍然只有一个消费者。这样,就回到了例 1 的情形。 也就是说,考虑运输成本在经济学上的含义,应当是认为甲乙是一个市场(地区 或国家),而丙丁是另一个市场(地区或国家)。运输成本也可能还包括关税等成本,由 于这个成本的存在,两个市场的清算价可能是不同的。 仍然按照例 1 的思路,可以建立这个问题的线性规划模型。 (2)模型的建立和求解 设甲以 1,2,3,4(万元)的单价售出的产品数量(单位:t)分别是 1 2 3 4 A , A , A , A , 乙以 9,4.5,3,2.25(万元)的单价购买的产品数量(单位:t)分别是 1 2 3 4 X , X , X , X ; 丙以 2,4,6,8(万元)的单价售出的产品数量(单位:t)分别是 1 2 3 4 B , B , B , B ,丁 以 15,8,5,3(万元)的单价购买的产品数量(单位:t)分别是 1 2 3 4 Y ,Y ,Y ,Y 。此外, 假设 AX 和 AY 分别是甲向乙和丁的供货量, BX 和 BY 分别是丙向乙和丁的供货量。 这些决策变量之间的关系参见示意图 1。 图 1 决策变量之间的关系 目标函数仍然是虚拟经销商的总利润,约束条件仍然是四类(供需平衡、供应限制、 需求限制和非负限制),不过这时应注意供需平衡约束应该是包括图 1 所示的决策变量 之间的关系: AX + AY = A1 + A2 + A3 + A4 (10) BX + BY = B1 + B2 + B3 + B4 (11) AX + BX = X1 + X2 + X3 + X4 (12)