斯塔克爾伯格競爭模型(主從博弈模型)
基本概念
古諾模型實際上是假定兩個寡頭廠商同時作出各自的產量決策的。
現在假設廠商1先決定它的產量,然后廠商2知道廠商1的產量后再做出它的產量決策。因此,在確定自己產量時,廠商1必須考慮廠商2將如何作出反應。其他假設與古諾模型相同,這一模型稱為斯塔克伯格(Stackelberg)模型。
斯塔克爾伯格競爭模型是一個價格領導模型,廠商之間存在着行動次序的區別。產量的決定依據以下次序:領導性廠商決定一個產量,然后跟隨者廠商可以觀察到這個產量,然后根據領導性廠商的產量來決定他自己的產量。
要注意的是,領導性廠商在決定自己的產量的時候,充分了解跟隨廠商會如何行動——這意味着領導性廠商可以知道跟隨廠商的反應函數。
因此,領導性廠商自然會預期到自己決定的產量對跟隨廠商的影響。正是考慮到這種影響的情況下,領導性廠商所決定的產量將是一個以跟隨廠商的反應函數為約束的利潤最大化產量。在斯塔克爾伯格模型中,領導性廠商的決策不再需要自己的反應函數。
設市場需求函數為:
其中 和 分別是兩個企業的產量。假設兩企業的成本函數相同,都為 ,首先考慮在給定企業1的計划產量下,企業2尋求使自己利潤最大化的最優產量 ,即:
上面優化模型中的最優解的 顯然是 的函數 ;
在知道企業2 對任意給定產量的反應后,企業1的最優產量模型為:
因此斯塔克爾伯格(Stackelberg)模型是先求解如下的優化模型:
得到
然后再求解如下的優化模型:
得到 ,代入 得到 ,如此得到斯塔克爾伯格均衡時的 。
斯塔克爾伯格應用實例
設市場需求函數為 ,兩企業的成本函數都為 ,求斯塔克爾伯格均衡時兩個企業的產量。(企業1為領導者,企業2為跟隨者)
解:首先求解如下的優化模型:
得到 ,然后求解下列優化模型:
得到結果為 。
MATLAB實現
clear
clc
syms x z;
y2=-x*(61.2-10*(x+z))+1.2*x;
eq=diff(y2,x);
p2=solve(eq,x);
y1=-z*(61.2-10*(z+p2))+1.2*z;
vdpf = matlabFunction([y1],'Vars',{z}); %將符號表達式轉化為函數句柄!!!
[p1,fval1]=fminsearch(vdpf,0);
p2=subs(p2,'z',p1);
[p1,p2]
