Forum / Betriebswirtschaftliche Optimierung / 2.Hausübung 2015

2.Hausübung 2015

Hat schon jemand Bsp 1 gerechnet Punkt b und ist aud plausible Werte gekommen?? Meine Werte wären x2=5 lamda=1 und x2=23.6666667 jedoch passen diese nicht für die gegebene NB :confused:

Christian +1

@christian: wie schauen bei dir obj, lhs und rhs aus? Bei mir kommt nämlich was anderes (offensichtlich falsches) heraus.

Und bezüglich der graphischen Darstellung: Hab in einer Ausarbeitung von vor 2 Jahren gesehen, dass die das duale Programm einfach mit Excel gezeichnet haben. Ich kann mir gut vorstellen, dass das reicht. Habe das so gemacht und da kommt dann eben das raus wie oben Post#15 Habe das Duale Programm eingesetzt:

	lhs <- matrix(c(2,1,1,3,1,1),nrow=3,byrow=TRUE)
	rhs <- c(10,12,6)
	dir <- c(">=",">=",">=")

	sol <- lp("min",obj,lhs,dir,rhs,compute.sens=TRUE)

		sol$objval
		sol$solution
		sol$duals\n~~~
Alexander ±0

Großartig danke. Hab exakt den selben Ansatz genommen nur vergessen "dir" auch anzupassen. Jetzt passts perfekt.

Christian +1

Großartig danke. Hab exakt den selben Ansatz genommen nur vergessen "dir" auch anzupassen. Jetzt passts perfekt. Kommt dir jetzt auch

[1] 392
> sol$solution
[1] 3.6 2.8
> sol$duals
[1] 32  6  0  0  0\n~~~
raus?
Alexander +1

Ja, hab exakt das selbe.

Günter +1

Wie kommt ihr bei Bsp. 1 auf die Werte? Wir kommen für Lambda=!0 auf lambda=3/16 oder 5/16 und entsprechend x1.1=28 x1.2=20 x2.1=x2.2=25

Andreas ±0

Bekomme immer die Fehlermeldung "sol" nicht gefunden, was mach ich falsch? lpSolve package ist aber installiert. Kann jemand den ganzen code posten?Danke.

gunman -1
Beispiel 2

Uns kommt bei Bsp 2 das heraus: > sol$objval [1] 392 > sol$solution [1] 32 6 0 > sol$duals [1] 3.6 2.8 0.0 0.0 -0.4

Hat das auch jemand?

@AlexP Was mich ein bisschen verwirrt ist das wenn man den Code schreibt in: ..... dir <- c("<=","<=") sol <- lp("max",obj,lhs,dir,rhs,compute.sens=TRUE) <= und "max" schreiben muss sonst kommt nicht das Richitge heraus. Hast du das auch so?

Wir glauben, dass dein ursprünglicher Ansatz zu Beispiel 2a) stimmt (jedoch mit ">="-Zeichen): Kostenfunktion: 10x1+12x2+6x3 g1: 2x1+x2+x3>=70 g2: x1+3x2+x3>=50

Das führt, eingesetzt in DualLP.R, zu folgender Lösung für 2b): > sol$objval [1] 380 > sol$solution [1] 20 0 30 > sol$duals [1] 4 2 0 2 0

Wenn man die Probe macht, sieht man, dass die Nebenbedingungen erfüllt sind und die Lösung "minimaler" ist als eure. Oder haben wir da einen Denkfehler?

Weitere Lösungen: 2c) 380€ 2d) A,C 2e) A: 20 Stk., C: 30 Stk. 2f) 2dim emsional vs 3 dimensional

g) > solg$objval [1] 375 > solg$solution [1] 0 0 50 5 > solg$duals [1] 3.75 2.25 0.25 1.50 0.00 0.00 Ja, 5 Präparate von D und 50 C kaufen. Ersparnis: 5€

h) von g) ausgehend: 2,25€ / Stk. von a) ausgehend: 2€ / Stk.

Christian ±0

Bekomme immer die Fehlermeldung "sol" nicht gefunden, was mach ich falsch? lpSolve package ist aber installiert. Kann jemand den ganzen code posten?Danke. Du musst bevor du den Code laufen lässt das hier aufrufen: library(lpSolve)

Sandra +1

Ich stimme Manfred bezüglich des Ergebnisses von 2b) zu. (Weiter bin ich daweil noch nicht) Das Primale Problem ist ein Minimierungsproblem, also muss das Duale Problem ein Maximierungsproblem sein. Wenn man die Lagrange Fkt umformt, muss man einfach beachten, dass die Schattenpreise bei einem Minimierungsproblem negativ sind, deshalb muss man, wenn man die Glg ins Duale überführen möchte, ein Minus vor Lambda1 und Lambda2 schreiben.

Edit: Denke aber nicht das es so richtig programmiert ist So siehts bei mir aus: > sol$objval [1] 380 > sol$solution [1] 4 2 > sol$duals [1] 20 0 30 0 0

Thomas ±0

Ich galube, dass das was du programmiert hast nicht das duale sondern das primale programm ist! Im dualen programm sind die koeffizienten der zielfunktion nämlich 70 und 50 für lamda und mü!

Christian ±0

@gunman Ja mir kommt das auch ein bisschen komisch vor so wie ich es jetzt gelöst habe, im Moment habe ich das Duale Problem eingesetzt im Code. Aber nur so kann man das "min" verwenden und nur so stimmt die Rechnerische Lösung mit der grafischen Lösung

Markus ±0

Du musst bevor du den Code laufen lässt das hier aufrufen: library(lpSolve)

habe glaube ich das gleiche problem... hier mal mein code und ausgabe- weiß vielleicht wer was ich falsch mache? danke!!

> library(lpSolve) Fehler in library(lpSolve) : es gibt kein Paket namens 'lpSolve' > > # Koeffizienten der Zielfunktion > obj <- c(70,50) > > # Nebenbedingungen > > lhs <- matrix(c(2,1,1,3,1,1),nrow=3) > rhs <- c(10,12) > dir <- c(">=",">=",">=") > > sol <- lp("min",obj,lhs,dir,rhs,compute.sens=T) Fehler: konnte Funktion "lp" nicht finden > > sol$solution Fehler: Objekt 'sol' nicht gefunden > sol$duals Fehler: Objekt 'sol' nicht gefunden > sol$objval Fehler: Objekt 'sol' nicht gefunden

Christian ±0

Hast du lpSolve installiert? Ansonsten gib mal in die R Console das hier ein um es zu installieren: install.packages("lpSolve")

Florian ±0

habe glaube ich das gleiche problem... hier mal mein code und ausgabe- weiß vielleicht wer was ich falsch mache? danke!!

> library(lpSolve) Fehler in library(lpSolve) : es gibt kein Paket namens 'lpSolve' > > # Koeffizienten der Zielfunktion > obj <- c(70,50) > > # Nebenbedingungen > > lhs <- matrix(c(2,1,1,3,1,1),nrow=3) > rhs <- c(10,12) > dir <- c(">=",">=",">=") > > sol <- lp("min",obj,lhs,dir,rhs,compute.sens=T) Fehler: konnte Funktion "lp" nicht finden > > sol$solution Fehler: Objekt 'sol' nicht gefunden > sol$duals Fehler: Objekt 'sol' nicht gefunden > sol$objval Fehler: Objekt 'sol' nicht gefunden

Du hast hier "> rhs <- c(10,12)" die dritte NB vergessen. Es müsste > rhs <- c(10,12,6) heißen. Und anscheinend das Paket nicht installiert. Was für eine Lösung stimmt jetzt? Wieso sollte es im dualen Programm ein Maximierungsproblem sein?

Sandra ±0

Bsp Tischlermeister Folie 196: Primales Problem -> max Folie 206: Duales Problem -> min Er hats auch in der VO und beim Tutorium erklärt...

Im Bsp2 geht es im Grunde darum die Kosten zu minimieren und die Elemente zu maximieren (und nicht auch zu minimieren)