Forum / Betriebswirtschaftliche Optimierung / [Gelöst] Hä1 WS15

Manuel
Manuel +1
Beste Antwort laut Fragesteller

Danke. Was ist aber die Nebenbedingung? Aja G= Erlös - Kosten

Patrick +1

Bei d) ergeben sich drei einzelne Lagrange-Funktionen und bei e) nur eine einzige - jeweils aus Gewinnfunktion und Nebenbedingung. Da die separaten Funktionen miteinander (über ausgetauschte Punkte bzw. deren Preis) gekoppelt sind, ist es möglich, die zu ebenfalls einer Gleichung zusammenzufügen, wodurch sich die idente Gleichung wie bei e) ergibt. Alternativ kann man auch die separaten Gleichungen entsprechend den Variablen ableiten, wo man aber ebenso ein äquivalentes Gleichungssystem erhält. Ist jedenfalls bei mir so. Wirkt mir zugegebenermaßen auch eigenartig. Hab's jedoch nur so rausbekommen.

thomas ±0

also bei dir auch die gleichen ergebnisse

Victor ±0

@technologic ich habe bei d die Maximalwerte mit Wolframalpha übermittelt(x3=0, x2=145, x1=1960). Ich bekomme aber dadurch den Gleichgewichtspreis nicht. Ich wollte mir die einzelnen Untersuchungen mit Kuhn Tucker sparen. Wie bekommt man den Gleichgewichtspreis?

Patrick +1

@sim: Ja, eigentlich schon @vik2009: Der Preis sollte im Prinzip das Lambda der Nebenbedingung (max. Anzahl an ÖP) sein. (wie bei c)) Also einfach die Gleichung um die NB erweitern.

Victor ±0

@technologic: das heist ich muss die einzelnen Fälle betrachten wie bei c? (mit bindende und nicht bindende)? D.h. ich sollte 8 fälle untersuchen (lambda2>0 - bindend, lambda3>0 nicht bindend, lambda4 >0 nicht bindend; lambda2>0 - n. bindend, lambda3>0bindend, lambda4>0 bindend.......usw) Ich habe die Werte für x1,x2,x3 direkt aus wolframalpha berechnet mit der Hoffnung mir die ganzen Diskussionen zu sparen. Da ich dadurch nicht direkt einen Lambda1 bekommen habe muss ich trotzdem die Diskussionen durchführen?

thomas ±0

ist das kuhn tucker? kommt kuhn tucker nicht erst zur nächten hausübung

Timo ±0

Hat schon jemand einen R Code?? Stehen total auf der Leitung, was man da machen soll und bräuchten einen Anhaltspunkt :)

thomas ±0

ich hab die langrangefunktionen genommen, dann die hessematrix aufstellen, den gradienten und ins newton reinwerfen. irgendein startpunkt

#################################################################################

Aufgabe c)

#################################################################################

aufgabeC=function() {

Folgende Funktion soll maximiert werden (Gewinnfunktion von A und B):

G(x1,x2) = 402*(x1 + x2/2)-(100*(x1 + x2/2)+(4/100)*(x1^2 + (x2/2)^2)) + lambda(1500-x1-x2)

x1 sind die Oekopunkte des Transportunternehmens A

x1 sind die Oekopunkte des Transportunternehmens B

startValue = matrix(nrow=3, ncol=1) startValue[1,1]=1 startValue[2,1]=1 startValue[3,1]=1

Ergebnis = (simpleNewton(startValue, C_gradient, C_hesse))

print (Ergebnis) }

C_hesse = function(x) {

Hessematrix wie in Beispiel b) berechnet

hesse = matrix(nrow=3,ncol=3) hesse[1,1] = (-0.08) hesse[1,2] = (0) hesse[1,3] = (-1) hesse[2,1] = (0) hesse[2,2] = (-0.02) hesse[2,3] = (-1) hesse[3,1] = (-1) hesse[3,2] = (-1) hesse[3,3] = (0)

return (hesse) }

C_gradient = function(x) { gradient=matrix(c(402-(100+(8/100)*x[1,1]) - x[3,1],201-(50+(2/100)*x[2,1]) - x[3,1], 1500-x[1,1]-x[2,1]))

return (gradient) } #################################################################################

thomas ±0

alles was dick ist, ist auskommentiert. kann das jemand bestätigen, hat das jemand auch so?

thomas ±0

@technologic wie sehen denn deine einzelnen gleichungen bei d) aus?

Georg ±0

Jemand eine Idee wie ich R sage das meine gesuchten werte von x nur positiv also >=0 sein sollen? ist bei der e) sonst etwas doof

Ferdinand Lukas ±0

wie habts ihr beim R überhaupt angefangen?

kann mir bitte irgendwer bei Punkt a mal einen Tipp geben

Georg +1

R sieht im prinzip so aus: Du sollst die simpleNewton funktion verwenden. Damti simpleNewton funktioniert braucht es von dir 3 matrizen/werte. Die Hesse Matrix ist die 2. ableitung deiner funktion Den Gradienten ist die 1. ableitung deiner funktion und die Startmatrix (kann man festlegen ich hab die mit 0 festgelegt Nachdem du das alles übergeben hast bzw. festgelegt hast sagst du dem program das es jetzt mti den aktuellen variablen mit simplenewton eine annäherung durchführen soll. Die werte die du dann da auslesen kannst sind deine gesuchten werte der code von @sim dürfte gar nicht so falsch sein auch wenn man die hesse matrix kürzer formulieren kann :D

Und wie gesagt wenn einer weiß wie man R noch beibringt das es keien negativen x-werte gibt wäre ich glücklich dann kann ich alles programmieren und müsste es nur noch verstehen irgendwie :D

Patrick ±0

@vik2009: Naja, die einzelnen x1>=0; x2>=0; x3>=0 Fälle hat Wolfram-Alpha ja schon mitberücksichtigt. Damit mit man ein Lambda (für die ÖP) erhält, kann man zur Gewinnfunktion ja + λ(NB=0) (Lagrange) hinzufügen. @sim: A: 302x1 - pt12 - pt12 - (4/100)x1^2 + λ1(750 - x1 - t12 - t13) B: 302x2 + pt12 - pt23 - (4/100)x2^2 + λ2(750 - 2x2 + t12 - t23) C: 302x3 +pt13 + pt23 - (4/100)x3^2 + λ3(750 - 3x3 + t13 + t23) Edit: Funktionen geändert.

thomas ±0

@Fieba stimmt! Die hesse matrix kann man kürzer fassen, aber wegen der lesbarkeit hab ichs komplett gelassen