Modellbildung und Simulation SS 2010
Blatt 1, Aufgabe 1

>    restart;

>    with(plots):

Warning, the name changecoords has been redefined

Um nachher nicht so viel schreiben zu müssen, merken wir uns die meisten der Parameter für das Zeichnen:

>    poptions := x1=0..60,x2=0..60,view=0..1500,
            axes=BOXED,grid=[30,30],style=wireframe,
            orientation=[-145,45],thickness=1:

>   

Gewinnfunktionen

Gewinn des ersten Bauern:

>    Gewinn1 := (x1,x2) -> (120-2*(x1+x2))*x1-x1^2;

>    pGewinn1 := plot3d(Gewinn1(x1,x2),poptions,color=RED):

Gewinn1 := proc (x1, x2) options operator, arrow; (120-2*x1-2*x2)*x1-x1^2 end proc

>    display(pGewinn1);

[Maple Plot]

Dto. für den  zweiten Bauern:

>    Gewinn2 := (x1,x2) -> (120-2*(x1+x2))*x2-x2^2;

>    pGewinn2 := plot3d(Gewinn2(x1,x2),poptions,color=BLUE):

Gewinn2 := proc (x1, x2) options operator, arrow; (120-2*x1-2*x2)*x2-x2^2 end proc

>    display({pGewinn1,pGewinn2});

[Maple Plot]

>   

>   

Antwortfunktionen (Reaktionsabbildungen) r1 und r2

Optimale Erntemenge für Bauer 1 bei gegebenem x2:

>    r1 := solve(diff(Gewinn1(x1,x2),x1)=0,x1);

r1 := 20-1/3*x2

Dasselbe als Funktion von x2:

>    r1fkt := unapply(r1,x2);

r1fkt := proc (x2) options operator, arrow; 20-1/3*x2 end proc

Diese Kurven beschreiben die jeweiligen Gewinne längs der Bahn (x1,x2)=(r1fkt(t),t)):

>    pGewinn2_r1 := spacecurve(
                  [r1fkt(t),t,Gewinn2(r1fkt(t),t)],
                  t=0..60,color=GREEN,thickness=3):

>    pGewinn1_r1 := spacecurve(
                  [r1fkt(t),t,Gewinn1(r1fkt(t),t)],
                  t=0..60,color=BLACK,thickness=3):

>    display([pGewinn1,pGewinn1_r1,pGewinn2_r1]);

[Maple Plot]

Und umgekehrt:

>    r2 := solve(diff(Gewinn2(x1,x2),x2)=0,x2);

r2 := 20-1/3*x1

>    r2fkt := unapply(r2,x1);

r2fkt := proc (x1) options operator, arrow; 20-1/3*x1 end proc

>    pGewinn1_r2 := spacecurve(
                  [t,r2fkt(t),Gewinn1(t,r2fkt(t))],

                  t=0..60,color=GREEN,thickness=3):

>    pGewinn2_r2 := spacecurve(
                  [t,r2fkt(t),Gewinn2(t,r2fkt(t))],

                  t=0..60,color=BLACK,thickness=3):

>    display([pGewinn1,pGewinn2,
         pGewinn1_r1,pGewinn1_r2,
         pGewinn2_r1,pGewinn2_r2]);

[Maple Plot]

>   

>   

Gleichgewichtspunkt

Rechnen wir uns noch den Gleichgewichtspunkt aus (ein Wert reicht wegen Symmetrie):

>    x_gleichgewicht := solve(r1fkt(r2fkt(t))=t,t);

x_gleichgewicht := 15

>    Gewinn1(x_gleichgewicht,x_gleichgewicht);

675

>   

>   

Ein Erdbeerkartell

Und was wäre der optimale Betrag, den beide bei perfekter Kooperation herausholen könnten (vorausgesetzt, das Kartellamt schreitet nicht ein)?

>    Gesamtgewinn := Gewinn1(x1,x2)+Gewinn2(x1,x2);

>    plot3d(Gesamtgewinn,poptions);

Gesamtgewinn := (120-2*x1-2*x2)*x1-x1^2+(120-2*x1-2*x2)*x2-x2^2

[Maple Plot]

>    solve({diff(Gesamtgewinn,x1)=0,diff(Gesamtgewinn,x2)=0},{x1,x2});

>    Gewinn1(12,12);

{x2 = 12, x1 = 12}

720

>   

>