CAS Maxima via SageMath - fremdgehen CAS

Maxima/wxMaxima
[i]ggb unterstützt keine lineare Programmierung (Simplex-Algorithmus) ich verwende das Opensource CAS Maxima/wxMaxima zur Bearbeitung/Überprüfung von Aufgabenstellungen. [br][url=https://wxmaxima-developers.github.io/wxmaxima/index.html]wxmaxima-home-page[math]\nearrow[/math][/url][i][br]Alle Online-Dienste für das CAS Maxima wurden eingestellt. Als Ersatz ein Verweis auf SageMath! [/i][/i] [br][br]ggb has no linear programm use opensource CAS Maxima/wxMaxima [br][i][color=#999999]Man kann das in [size=150]SageMath[/size] integrierte Modul für Maxima verwenden oder auch direkt die leistungsfähigere aber komplexer aufgebauten [size=150]Sage[/size] linear programming (LP) Module verwenden.[/color][/i][br]You can use the integrated Maxima module of SageMath or directly use the more powerful but more complex Sage linear programming (LP) modules.[br][br][br][i][color=#999999]Anwendungsbeispiel Linear Programm maximize/minimize[/color][/i][br]Application example Linear program maximize/minimize[br][br][url=https://sagecell.sagemath.org/][img]data:image/png;base64,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[/img][math]\nearrow[/math][/url]
CAS Maxima Instance of SageMath → LP Simplex
[br]nonegative_lp=true, numer;[br]...switch -numer- makes floating point numbers
Maxima vs Sage
[table][tr][td]minimize_lp(39*x1+21*x2+82*x3+55*x4,[br][[br]2*x1+50*x2+6*x3+74*x4<=60,[br]2*x1+50*x2+6*x3+74*x4>=54,[br]1*x1+75*x2+13*x3+96*x4<=80,[br]1*x1+75*x2+13*x3+96*x4>=39,[br]5*x1+83*x2+5*x3+105*x4<=90,[br]5*x1+83*x2+5*x3+105*x4>=24,[br]x1+x2+x3+x4=1[br]]),nonegative_lp=true;[br][br][i][color=#0000ff][80/3,[x4=1/6,x3=0,x2=5/6,x1=0]][/color][/i][br]*.,numer;[br][i][color=#0000ff][26.66666666666668,[x4=0.16666666666667,x3=0,x2=0.83333333333333,x1=[br]0]][/color][/i][br][br][math]\textcolor{blue}{\large\mathcal{Maxima-Link}\nearrow[/math] [br]https://sagecell.sagemath.org/?q=zfwdbj[br][br]https://maxima.sourceforge.io/docs/tutorial/de/maxima-einfuehrung.pdf[br][br]https://www.albrecht57.de/images/stories/phgd/mathematik/computer/maxima_anleitung.pdf[br][br][br][br][br][br][br][br][br][br][br][br][br][br][br][br][/td][td]p = MixedIntegerLinearProgram(maximization=False, solver='GLPK')[br]v = p.new_variable(real=True, nonnegative=True)[br]x1, x2, x3, x4 = v['x1'], v['x2'], v['x3'], v['x4'][br]p.set_objective(39*x1+21*x2+82*x3+55*x4)[br]p.add_constraint(2*x1+50*x2+6*x3+74*x4<=60)[br]p.add_constraint(2*x1+50*x2+6*x3+74*x4>=54)[br]p.add_constraint(1*x1+75*x2+13*x3+96*x4<=80)[br]p.add_constraint(1*x1+75*x2+13*x3+96*x4>=39)[br]p.add_constraint(5*x1+83*x2+5*x3+105*x4<=90)[br]p.add_constraint(5*x1+83*x2+5*x3+105*x4>=24)[br]p.add_constraint(x1+x2+x3+x4==1)[br]p.show()[br]min=p.solve()[br]print(p.get_values(x1,x2,x3,x4))[br]print('min=',round(min,3),'x1=',p.get_values(x1),'x2=',round(p.get_values(x2),3),'x3=',p.get_values(x3),'x4=',round(p.get_values(x4),3))[br][br][i][color=#0000ff]Minimization:[br] 39.0 x_0 + 21.0 x_1 + 82.0 x_2 + 55.0 x_3[br]Constraints:[br] 2.0 x_0 + 50.0 x_1 + 6.0 x_2 + 74.0 x_3 <= 60.0[br] -2.0 x_0 - 50.0 x_1 - 6.0 x_2 - 74.0 x_3 <= -54.0[br] x_0 + 75.0 x_1 + 13.0 x_2 + 96.0 x_3 <= 80.0[br] - x_0 - 75.0 x_1 - 13.0 x_2 - 96.0 x_3 <= -39.0[br] 5.0 x_0 + 83.0 x_1 + 5.0 x_2 + 105.0 x_3 <= 90.0[br] -5.0 x_0 - 83.0 x_1 - 5.0 x_2 - 105.0 x_3 <= -24.0[br] 1.0 <= x_0 + x_1 + x_2 + x_3 <= 1.0[br]Variables:[br] x_0 is a continuous variable (min=0.0, max=+oo)[br] x_1 is a continuous variable (min=0.0, max=+oo)[br] x_2 is a continuous variable (min=0.0, max=+oo)[br] x_3 is a continuous variable (min=0.0, max=+oo)[br][0.0, 0.8333333333333329, 0.0, 0.16666666666666707][br]min= 26.666 x1= 0.0 x2= 0.833 x3= 0.0 x4= 0.166[br][/color][/i][br][br][math]\textcolor{blue}{\large\mathcal{SageMath-Link}\nearrow[/math] [br]https://sagecell.sagemath.org/?q=sozgsh[br][br]https://doc.sagemath.org/html/en/thematic_tutorials/linear_programming.html[br][/td][/tr][/table]
Übungsaufgaben/Exercise
[table][tr][td]Ein Unternehmen fertigt drei Produkte P1,P2 und P3 auf einer Anlage, die in der Abrechnungsperiode insgesamt für 2.100 Zeiteinheiten [ZE] zur Verfügung steht. [br]Die Fixkosten der Periode belaufen sich auf 6.000 GE. [br]Produktionsprogramm für max Gewinn![br][br]P1........P2........P3 Produkte[br]22.......28......,..19 Stückerlöse[br]10.......14...........9 Variable Stückkosten[br]...3.........4...........2 Produktionszeit [Min/ME] [br]300.....300......250 Maximale Absatzmenge[br][br]maximize_lp([br]22*x+28*y+19*z-10*x-14*y-9*z-6000, [[br]x<=300,[br]y<=300,[br]z<=250,[br]3*x+4*y+2*z<=2100]),numer; [br][2550,[z=250,y=175,x=300]][br][br]Tablo:={ x3 = 250, x2 = 300, x1 = 300, 3 x1 + 4 x2 + 2 x3 = 2100, -12 x1 - 14 x2 - 10 x3 = -6000 }[br][br][/td][td]Aus 5m langen und 3m breiten Platten sind drei Typen kleinerer Platten folgender Größe und Stückzahl zuzuschneiden:[br][br]A: 4 x 2,5m -> 180 Stück,[br]B: 3 x 1,5m -> 900 Stück,[br]C: 2 x 1 m -> 450 Stück. [br][br]Zuschneiden parallel zu den Plattenkanten. [br]Minimiere die Anzahl der zerschnitten Platten.[br][br][br][br]minimize_lp(x1+x2+x3+x4,[[br]x1=180,[br]3*x2+2*x3=900,[br]x1+3*x3+7*x4=450]),[br]nonegative_lp=true;[br][510,[x4=0,x3=90,x2=240,x1=180]][br][br][br]Tablo:={ x1 = 180, 3 x2 + 2 x3 = 900, x1 + 3 x3 + 7 x4 = 450, x1 + x2 + x3 + x4 = 0 }[br][br][/td][/tr][tr][td][size=85][br][math]\small Start \, := \, \left(\begin{array}{rrrrrrrr}0&0&1&1&0&0&0&250\\0&1&0&0&1&0&0&300\\1&0&0&0&0&1&0&300\\3&4&2&0&0&0&1&2100\\-12&-14&-10&0&0&0&0&-6000\\\end{array}\right)\{1,3\}[/math][br][math]\small A_1 \, := \, \left(\begin{array}{rrrrrrrr}0&0&1&1&0&0&0&250\\0&1&0&0&1&0&0&300\\1&0&0&0&0&1&0&300\\3&4&0&-2&0&0&1&1600\\-12&-14&0&10&0&0&0&-3500\\\end{array}\right)\{2,2\}[/math][br][math]\small A_2 \, := \, \left(\begin{array}{rrrrrrrr}0&0&1&1&0&0&0&250\\0&1&0&0&1&0&0&300\\1&0&0&0&0&1&0&300\\3&0&0&-2&-4&0&1&400\\-12&0&0&10&14&0&0&700\\\end{array}\right)\{4,1\}[/math][br][math]\small A_3 \, := \, \left(\begin{array}{rrrrrrrr}0&0&1&1&0&0&0&250\\0&1&0&0&1&0&0&300\\0&0&0&0.67&1.33&1&-0.33&166.67\\1&0&0&-0.67&-1.33&0&0.33&133.33\\0&0&0&2&-2&0&4&2300\\\end{array}\right)\{3,5\}[/math][br][math]\small A_4 \, := \, \left(\begin{array}{rrrrrrrr}0&0&1&1&0&0&0&250\\0&1&0&-0.5&0&-0.75&0.25&175\\0&0&0&0.5&1&0.75&-0.25&125\\1&0&0&0&0&1&0&300\\0&0&0&3&0&1.5&3.5&2550\\\end{array}\right)[/math][br][math]\small IL \, := \, \left(\begin{array}{r}300\\175\\250\\\end{array}\right)[/math][br][br][br][br][br][br] [/size][/td][td][size=85][br][br][math]\small Start \, := \, \left(\begin{array}{rrrrrrrr}1&0&1&1&0&0&0&1\\0&3&0&0&1&0&0&1\\0&2&3&0&0&1&0&1\\0&0&7&0&0&0&1&1\\-180&-900&-450&0&0&0&0&0\\\end{array}\right)\{2,2\}[/math][br][math]\small A_1 \, := \, \left(\begin{array}{rrrrrrrr}1&0&1&1&0&0&0&1\\0&1&0&0&\frac{1}{3}&0&0&\frac{1}{3}\\0&0&3&0&\frac{-2}{3}&1&0&\frac{1}{3}\\0&0&7&0&0&0&1&1\\-180&0&-450&0&300&0&0&300\\\end{array}\right)\{3,3\}[/math][br][math]\small A_2 \, := \, \left(\begin{array}{rrrrrrrr}1&0&0&1&\frac{2}{9}&\frac{-1}{3}&0&\frac{8}{9}\\0&1&0&0&\frac{1}{3}&0&0&\frac{1}{3}\\0&0&1&0&\frac{-2}{9}&\frac{1}{3}&0&\frac{1}{9}\\0&0&0&0&\frac{14}{9}&\frac{-7}{3}&1&\frac{2}{9}\\-180&0&0&0&200&150&0&350\\\end{array}\right)\{1,1\}[/math][br][math]\small A_3 \, := \, \left(\begin{array}{rrrrrrrr}1&0&0&1&\frac{2}{9}&\frac{-1}{3}&0&\frac{8}{9}\\0&1&0&0&\frac{1}{3}&0&0&\frac{1}{3}\\0&0&1&0&\frac{-2}{9}&\frac{1}{3}&0&\frac{1}{9}\\0&0&0&0&\frac{14}{9}&\frac{-7}{3}&1&\frac{2}{9}\\0&0&0&180&240&90&0&510\\\end{array}\right)\{3,5\}[/math][br][math]\small IL \, := \, \left(\begin{array}{r}180\\240\\90\\0\\\end{array}\right)[/math][br] [br][/size][/td][/tr][/table][br][br][math]\textcolor{blue}{\large\mathcal{Maxima-Link}\nearrow[/math] [br]https://sagecell.sagemath.org/?q=kymxkw[br]
Integer/Ganzzahl Simplex - Maxima vs SageMath
[table][tr][td]maximize_lp([br]1.5*x1+3.5*x2+3*x3+4*x4,[[br]3*x1 + 1*x2 + 3*x3 + 4*x4 <= 315,[br]1*x1 + 2*x2 + 2.7*x3 + 4*x4 <= 270,[br]2*x1 + 5*x2 + 5.5*x3 + 3*x4 <= 400,[br]x1 <= 30,[br]x2 >= 12,[br]x3 >= 20,[br]x4 >= 10[br]]),[br]nonegative_lp=true, numer;[br][330.8571428571428,[[br]x4=35.71428571428572,[br]x3=20.00000000000001,[br]x2=36.57142857142857,[br]x1=0]][br][br][br][br][/td][td]p = MixedIntegerLinearProgram(maximization=True, solver='GLPK')[br]v = p.new_variable([color=#ff0000]integer=True[/color], nonnegative=True)[br]x1, x2, x3, x4 = v['x1'], v['x2'], v['x3'], v['x4'][br]p.set_objective(1.5*x1+3.5*x2+3*x3+4*x4)[br]p.add_constraint(3*x1 + 1*x2 + 3*x3 + 4*x4 <= 315)[br]p.add_constraint(1*x1 + 2*x2 + 2.7*x3 + 4*x4 <= 270)[br]p.add_constraint(2*x1 + 5*x2 + 5.5*x3 + 3*x4 <= 400)[br]p.add_constraint(x1 <= 30)[br]p.add_constraint(x2 >= 12)[br]p.add_constraint(x3 >= 20)[br]p.add_constraint(x4 >= 10)[br]p.show()[br]min=p.solve()[br]print(p.get_values(x1,x2,x3,x4))[br]print('min=',(min),'x1=',p.get_values(x1),[br]'x2=',(p.get_values(x2)),'x3=',p.get_values(x3),[br]'x4=',(p.get_values(x4)))[br][br][/td][/tr][tr][td][i]Branch & Bound set x4=35[/i][/td][td][/td][/tr][tr][td]maximize_lp([br]1.5*x1+3.5*x2+3*x3+4*x4,[[br]3*x1 + 1*x2 + 3*x3 + 4*x4 <= 315, [br]1*x1 + 2*x2 + 2.7*x3 + 4*x4 <= 270,[br]2*x1 + 5*x2 + 5.5*x3 + 3*x4 <= 400,[br]x1 <= 30,[br]x2 >= 12,[br]x3 >= 20,[br]x4 >= 10,[br]x4=35[br]]),[br]nonegative_lp=true, numer;[br][330.5000000000001,[[br]x4=35,[br]x3=20.0,[br]x2=32.99999999999999,[br]x1=10.00000000000004]][br][br][/td][td]Maximization:[br] 1.5 x_0 + 3.5 x_1 + 3.0 x_2 + 4.0 x_3[br]Constraints:[br] 3.0 x_0 + x_1 + 3.0 x_2 + 4.0 x_3 <= 315.0[br] x_0 + 2.0 x_1 + 2.7 x_2 + 4.0 x_3 <= 270.0[br] 2.0 x_0 + 5.0 x_1 + 5.5 x_2 + 3.0 x_3 <= 400.0[br] x_0 <= 30.0[br] - x_1 <= -12.0[br] - x_2 <= -20.0[br] - x_3 <= -10.0[br]Variables:[br] x_0 is an integer variable (min=0.0, max=+oo)[br] x_1 is an integer variable (min=0.0, max=+oo)[br] x_2 is an integer variable (min=0.0, max=+oo)[br] x_3 is an integer variable (min=0.0, max=+oo)[br][10.0, 33.0, 20.0, 35.0][br]min= 330.5 x1= 10.0 x2= 33.0 x3= 20.0 x4= 35.0[br][br][/td][/tr][tr][td][math]\textcolor{blue}{\large\mathcal{Maxima-Link}\nearrow[/math] [br]https://sagecell.sagemath.org/?q=epaxzr[/td][td][math]\textcolor{blue}{\large\mathcal{SageMath-Link}\nearrow[/math] [br]https://sagecell.sagemath.org/?q=ypeaja[/td][/tr][/table]

Information: CAS Maxima via SageMath - fremdgehen CAS