zoukankan      html  css  js  c++  java
  • 古诺双寡头模型MATLAB求解(博弈论)

    古诺双寡头模型MATLAB求解(博弈论)

    基本概念

    古诺竞争模型(也称古诺模型)是早期的寡头垄断模型。它是法国经济学家古诺于1838年提出的。

    古诺模型的假定是:市场上有A、B两个厂商生产和销售相同的产品,他们的生产成本为0;他们共同面临的市场的需求是线性的,A、B两个厂商都准确地了解市场的需求曲线;A、B两个厂商都是在已知对方产量的情况下,各自确定能够给自己带来最大利润的产量,即每一个厂商都是消极地以自己的产量去适应对方已确定的产量。

    设市场需求函数为:

    D=D(p1+p2)=ab(p1+p2)

    其中p1p2分别是两个企业的产量。假设两企业的成本函数相同,都为C=c0p(p为产量),则企业1在预测企业2的产量为p2的情况下,寻求使自己利润最大化的最优产量p1,即
    maxp1[ab(p1+p2)]cp1

    上面优化模型中的最优解的p1显然是p2的函数p1=f(p2)

    同样企业2在以预测企业1的产量为P1的情况下,寻求使自己利润最大化的最优产量p2,即

    maxp2[ab(p1+p2)]cp2

    上面的优化模型中的最优解p2显然是p1的函数p2=g(p1)

    同时满足下面方程的(p1,p2)称为古诺平衡:

    {p1=f(p2)p2=g(p1)

    根据最优化条件可以得到均衡时:
    p1=p2=ac3b

    古诺竞争模型应用实例

    设市场的需求函数为D=61.210(p1+p2),两企业的成本函数都是C=1.2p,求古诺均衡时两企业的产量。

    :由优化模型得到

    企业1的优化模型为:

    maxp1[61.210(p1+p2)]1.2p1

    其最优产量为:p1=6p22

    企业2的优化模型为:

    maxp2[61.210(p1+p2)]1.2p2

    其最优产量为:p2=6p12

    则古诺均衡时两企业的产量为:p1=p2=61.21.2310=2

    MATLAB实现

    clear
    clc
    syms x;
    i=1;
    
    y=6*rand;   %初始化企业2的产量
    z=6*rand;   %初始化企业1的产量
    for iter=1:10000 
        z_old=z;
        y_old=y;
    
        y1=-x*(61.2-10*(x+y_old))+1.2*x;    %企业1
        vdpf = matlabFunction([y1],'Vars',{x}); %将符号表达式转化为函数句柄!!!
        [v1(i),fval1(i)]=fminsearch(vdpf,0);
        z=v1(i);
    
        y2=-x*(61.2-10*(x+z_old))+1.2*x;    %企业2
        vdpf = matlabFunction([y2],'Vars',{x});
        [v2(i),fval2(i)]=fminsearch(vdpf,0);
        y=v2(i);
    
        if abs(z-z_old)<0.0001 && abs(y-y_old)<0.0001
            break;
        end
    
        i=i+1;
    end
    
    figure(1);
    plot(v1,-fval1,'b*-',v2,-fval2,'ro-');
    legend('企业1','企业2');
    grid on
    

    需要注意的是第13行将符号表达式转换为函数句柄,变成函数句柄后才能方便调用fminsearch函数,具体参考http://blog.sina.com.cn/s/blog_66faf9cf0101ckuu.html

  • 相关阅读:
    A New Approach to Line Simplification Based on Image Processing: A Case Study of Water Area Boundaries
    3D模型
    数码相机控制点的自动定位检校
    道路网匹配
    多线程操作数据拷贝要加线程锁
    编程琐事
    C++ 指定路径文件夹存在与否查询及文件夹创建
    C++ 网络编程之正确使用UDP广播及多播
    C++ 获得系统时间
    C++ 数据写入文件与读回
  • 原文地址:https://www.cnblogs.com/born2run/p/9581336.html
Copyright © 2011-2022 走看看