Bearbeiten von: Abschnitt [Änderungshistorie]
  Zeilenumbrüche automatisch mache ich selbst mit HTML    

Ich möchte eine Mail an , nachdem mein Vorschlag bearbeitet ist.
  Nachricht zur Änderung:

Input assistance tools (JavaScript): [Link extern intern] [MathML?] [$$?]
[fed-area] [LaTeX-inline] [LaTeX-display] [Tikz] [hide-area][show-area] [Source code [num.]][?]
[Link zurück zum Artikelabschnitt]

Vorschau:
Neuer Abschnitt in Die Simplexmethode in Basic und Turbo

Listing Simplexmethode in Commodore Basic

Handhabung von "SIMPLEX.P00" (1) Download von "SIMPLEX.P00" aus meinem Notizbuch ( fav.php?uname=Delastelle ) (2) VICE PLUS 4 starten (xplus4.exe) (3) Options -> Double size // doppelte Bildschirmgröße (4) File -> Autostart disk -> "SIMPLEX.P00" (5) DLOAD"SIMPLEX" // laden von Festplatte (6) RUN // starten (7) Eingaben für Beispiel 1: 0,MAX,2,2,0,0 4,3 9,-2 1,3,1,-2 (8) (Berechnung) \sourceon BASIC 10 PRINT"SIMPLEX-METHODE" 20 PRINT 30 PRINT"LINEARE PROGRAMMIERUNG" 40 PRINT 50 INPUT"BEISPIEL 0 bis 5 ";BE 51 IF BE=1 THEN RESTORE 10000 52 IF BE=2 THEN RESTORE 11000 53 IF BE=3 THEN RESTORE 12000 54 IF BE=4 THEN RESTORE 13000 55 if BE=5 THEN RESTORE 14000 59 IF BE>0 THEN READ C$: GOTO 80 60 PRINT"MAXIMIERUNG ODER MINIMIERUNG": INPUT"(MAX/MIN/ENDE) ";C$ 65 IF C$="ENDE" THEN STOP 70 IF LEFT$(C$,2)<>"MA" AND LEFT$(C$,2)<>"MI" THEN 60 80 IF LEFT$(C$,2)="MI" THEN PT=-1: PRINT"MINIMIERUNG DER ZIELFUNKTION": GOTO 110 90 PRINT"MAXIMIERUNG DER ZIELFUNKTION" 100 PT=1 110 IF BE>0 THEN READ MN: GOTO 120 115 INPUT"ANZAHL DER ENTSCH.VARIAB.";MN 120 PRINT"ANZAHL DER ENTSCH.VARIAB. ";MN 130 PRINT 140 PRINT"ANZAHL DER NEBENBEDINGUNGEN":PRINT"(AUSGEN.NICHTNEGATIVE NEBENBEDINGUNGEN):" 145 IF BE>0 THEN READ NS: GOTO 160 150 INPUT" <= ";NS 160 PRINT"KLEINER ODER GLEICH <= ? ";NS 165 IF BE>0 THEN READ NB: GOTO 180 170 INPUT" >= ";NB 180 PRINT"GROESSER ALS ODER GLEICH >= ? ";NB 185 IF BE>0 THEN READ NE: INPUT"WEITER ";C$: GOTO 200 190 INPUT"GLEICH = ";NE 200 PRINT"GLEICH = ? ";NE 210 M=NS+NB+NE 220 N=M+MN+NB 230 DIM B(M),CI(N),CJ(N),Z(N),ZC(N),XI(N),XJ(N),A(M,N) 240 PRINT 250 PRINT"DEFINITION DER INDIZ. VARIABLE :": PRINT 260 K=1: FOR J=M+1 TO M+MN 270 PRINT"ENTSCHEIDUNGSVARIABLE ";K 280 XJ(K)=K 290 PRINT"= X(";XJ(J);")" 300 K=K+1: NEXT J: PRINT 310 IF NS<=0 THEN 400 320 PRINT"SCHLUPFVARIABLE(N) DER" 330 PRINT"KLEINER ODER GLEICH": PRINT"NEBENBEDINGUNG :" 340 K=MN+1: FOR J=1 TO NS 350 PRINT"NEBENBEDINGUNG ";J; 360 XJ(J)=K 370 PRINT" = X(";XJ(J);")" 380 K=K+1: NEXT J: PRINT 390 FOR I=1 TO N: CJ(I)=0: NEXT I 400 IF NB=0 THEN 490 410 PRINT"SCHLUPFVARIABLE(N) DER" 420 PRINT"GROESSER ODER GLEICH": PRINT"NEBENBEDINGUNG" 430 PRINT"( RESTVARIABLE(N) ):" 440 K=M+MN+1: FOR J=M+MN+1 TO N 450 PRINT"NEBENBEDINGUNG ";J+NS-M-MN; 460 XJ(J)=K 470 PRINT" = X(";XJ(J);")" 480 K=K+1: NEXT J: PRINT 490 IF NB=0 AND NE=0 THEN 580 500 PRINT"KUENSTLICHE VARIABLE(N) FURE DIE" 510 PRINT" >= UND = NEBENBEDINGUNG :" 520 K=MN+NS+1: FOR J=NS+1 TO M 530 PRINT"NEBENBEDINGUNG ";J; 540 XJ(J)=K 550 PRINT" = X(";XJ(J);")" 560 CJ(J)=10000 570 K=K+1: NEXT J: PRINT 580 FOR I=1 TO M: XI(I)=XJ(I): NEXT I 590 PRINT: PRINT"KOEFFIZIENTEN DER ZIELFUNKTION :" 600 PRINT"---------------" 610 FOR I=M+1 TO M+MN 615 IF BE>0 THEN READ CJ(I): GOTO 640 620 PRINT"KOEFF.DER ENTSCH.VAR.":PRINT"X(";I-M;")= "; 630 INPUT CJ(I) 640 PRINT"KOEFF.DER ENTSCH.VAR. ";I-M;" =";CJ(I) 650 CJ(I)=CJ(I)*PT*(-1) 660 NEXT I: PRINT 665 IF BE>0 THEN INPUT"WEITER ";C$ 670 PRINT"WERT DER RECHTEN SEITE" 680 PRINT"---------------" 690 FOR I=1 TO M 695 IF BE>0 THEN READ B(I): GOTO 720 700 PRINT"==DER NEBENBEDINGUNG " 710 PRINT"X(";I;")=": INPUT B(I) 720 PRINT"==DER NEBENBEDINGUNG ";I;" = ";B(I): NEXT I 725 IF BE>0 THEN INPUT"WEITER ";C$ 730 FOR I=1 TO M: FOR J=1 TO N 740 IF I<>J THEN 770 750 A(I,J)=1 760 GOTO 780 770 A(I,J)=0 780 NEXT J: NEXT I 790 PRINT 800 PRINT"NEBENBED.KOEFFIZIENTEN :" 810 PRINT"---------------" 820 FOR I=1 TO M 830 PRINT"KOEFFIZ.DER NEBENBED.NR. ";I 840 FOR J=M+1 TO M+MN 845 IF BE>0 THEN READ A(I,J): GOTO 860 850 PRINT"ENTSCH.VARIABLE";I;",";J-M;"=": INPUT A(I,J) 860 PRINT"--ENTSCH.VARIABLE ";J-M;" =";A(I,J) 870 NEXT J:NEXT I 875 IF BE>0 THEN INPUT"WEITER ";C$ 880 IF NB=0 THEN 920 890 FOR I=1 TO NB 900 A(NS+I,M+MN+I)=-1 910 NEXT I 920 FOR I=1 TO M: FOR J=1 TO N 930 IF XI(I)<>XJ(J) THEN 950 940 CI(I)=CJ(J) 950 NEXT J: NEXT I 960 IT=0 970 FOR J=1 TO N 980 Z(J)=0 990 FOR I=1 TO M 1000 Z(J)=Z(J)+CI(I)*A(I,J) 1010 NEXT I 1020 ZC(J)=Z(J)-CJ(J) 1030 NEXT J 1040 OB=0 1050 FOR I=1 TO M 1060 OB=OB+CI(I)*B(I) 1070 NEXT I 1080 PRINT: PRINT: PRINT 1090 PRINT"ITERATION NR.";IT 1100 PRINT"---------------" 1110 PRINT"BASIS VARIABLEN WERT" 1120 FOR I=1 TO M 1130 PRINT" X(";XI(I);") ";INT(100*B(I)+.5)/100: NEXT I 1140 PRINT: N1=1: N2=8 1150 IF N2<=N THEN 1170 1160 N2=N 1170 PRINT"VARIABLEN DES SIMPLEX-TABLEAUS" 1180 FOR I=N1 TO N2 1190 PRINT "X(";XJ(I);");"; 1200 NEXT I 1210 PRINT: PRINT 1220 REM 1230 PRINT"KOEFIZ.MATRIX A(I,J) :" 1240 PRINT"---------------" 1250 K=-10 1260 FOR I=1 TO M 1270 K=K-25: F=32 1280 FOR J=N1 TO N2 1290 F=F-32 1300 REM CURSOR 1310 PRINT INT(100*A(I,J)+.5)/100;" "; 1320 NEXT J: PRINT: NEXT I 1330 REM 1340 PRINT"MARG.DECK.BEITRAGSKOEFF. Z(J)-C(J) :" 1350 FOR I=N1 TO N2 1360 PRINT INT(100*ZC(I)+.5)/100;" "; 1370 NEXT I: PRINT 1380 IF N2>=N THEN 1410 1390 N1=N1+8: N2=N2+8 1400 GOTO 1150 1410 PRINT: PRINT"ZIEFFUNKTION Z = ";INT(100*OB+.5)/100: PRINT 1420 INPUT"WEITER ? J/N ";C$ 1425 IF C$="N" THEN STOP 1430 IT=IT+1; CM=ZC(1): JM=1 1440 FOR J=2 TO N 1450 IF ZC(J)<=CM THEN 1470 1460 CM=ZC(J): JM=J 1470 NEXT J 1480 IF CM>0 THEN 1880 1490 M3=M+MN: M0=M+1 1500 IF M=NS THEN 1560 1510 FOR I=1 TO M 1520 M4=NS+1 1530 FOR J=M4 TO M 1540 IF XI(I)=XJ(J) THEN 1860 1550 NEXT J: NEXT I 1560 FOR K=M0 TO M3 1570 FOR I=1 TO M 1580 IF XJ(K)=XI(I) GOTO 1610 1590 NEXT I 1600 IF ZC(K)=0 THEN 1630 1610 NEXT K 1620 GOTO 1640 1630 PRINT"* MEHRERE OPT.LOESUNGEN MOEGLICH *" 1640 PRINT: PRINT: PRINT 1650 PRINT"*** OPTIMALE LOESUNG GEFUNDEN ***" 1660 PRINT"*** NACH ";IT;" ITERATIONEN ***" 1670 FOR I=1 TO M 1680 IF B(I)<>0 THEN 1710 1690 PRINT: PRINT"*** DEGENERIERTE LOESUNG ***" 1700 GOTO 1720 1710 NEXT I 1720 PRINT 1730 PRINT"---------------" 1740 PRINT"ENTSCH.VARIABLEN WERT" 1750 PRINT"---------------" 1760 FOR I=1 TO M 1770 PRINT" X(";XI(I);") =";INT(1000*B(I)+.5)/1000 1780 NEXT I 1790 PRINT"! BEACHTE !": PRINT"ALLE VARIABLEN, DIE IN DIESER TABELLE" 1800 PRINT"NICHT GEZEIGT WERDEN,": PRINT"HABEN DER WERT 0." 1810 PRINT"---------------" 1820 IF PT=1 THEN PRINT"MAXIMUM Z = ";ABS(OB) 1830 IF PT=-1 THEN PRINT"MINIMUM Z = ";ABS(OB) 1840 PRINT"---------------" 1845 STOP 1850 PRINT: PRINT: PRINT: PRINT: PRINT: STOP 1860 PRINT: PRINT"*** UNBESCHRAENKTE LOESUNG ***" 1870 STOP 1880 XM=1.0E25: IM=0 1890 FOR I=1 TO M 1900 IF A(I,JM)<=0 THEN 1940 1910 XX=B(I)/A(I,JM) 1920 IF XX>=XM THEN 1940 1930 XM=XX: IM=I 1940 NEXT I 1950 IF IM>0 THEN 1980 1960 PRINT"*** LOESUNG UNMOEGLICH ***" 1970 STOP 1980 XX=A(IM,JM) 1990 B(IM)=B(IM)/XX 2000 FOR J=1 TO N 2010 A(IM,J)=A(IM,J)/XX 2020 NEXT J 2030 FOR I=1 TO M 2040 IF I=IM THEN 2100 2050 XX=A(I,JM) 2060 B(I)=B(I)-XX*B(IM) 2070 FOR J=1 TO N 2080 A(I,J)=A(I,J)-XX*A(IM,J) 2090 NEXT J 2100 NEXT I 2110 CI(IM)=CJ(JM) 2120 XI(IM)=XJ(JM) 2130 GOTO 970 2140 PRINT: PRINT: PRINT: PRINT: PRINT: END 10000 REM BEISPIEL 1 10010 DATA MAX,2,2,0,0 10020 DATA 4,3 10030 DATA 9,-2 10040 DATA 1,3,1,-2 11000 REM BEISPIEL 2 11010 DATA MAX,2,3,0,0 11020 DATA 1,-1 11030 DATA 0,1,-2 11040 DATA 2,-1,1,2,-2,-1 12000 DATA BEISPIEL 3 12010 DATA MAX 2,2,0,0 12020 DATA 2,1 12030 DATA 1,-6 12040 DATA -1,1,-1,-3 13000 REM BEISPIEL 4 KLEE-MINTY 3X3 13010 DATA MAX,3,3,0,0 13020 DATA 4,2,1 13030 DATA 5,25,125 13040 DATA 1,0,0,4,1,0,8,4,1 14000 REM BEISPIEL 5 KLEE-MINTY 4X4 14010 DATA MAX,4,4,0,0 14020 DATA 8,4,2,1 14030 DATA 8,25,125,625 14040 DATA 1,0,0,0,4,1,0,0,0,8,4,1,0,16,8,4,1 \sourceoff
 
All logos and trademarks in this site are property of their respective owner. The comments are property of their posters, all the rest © 2001-2023 by Matroids Matheplanet
This web site was originally made with PHP-Nuke, a former web portal system written in PHP that seems no longer to be maintained nor supported. PHP-Nuke is Free Software released under the GNU/GPL license.
Ich distanziere mich von rechtswidrigen oder anstößigen Inhalten, die sich trotz aufmerksamer Prüfung hinter hier verwendeten Links verbergen mögen.
Lesen Sie die Nutzungsbedingungen, die Distanzierung, die Datenschutzerklärung und das Impressum.
[Seitenanfang]