Quellcodebibliothek Statistik Leitseite products/sources/formale Sprachen/Cobol/verschiedene-Autoren/Sedgewick-Algorithmen/   (Columbo Version 0.7©)  Datei vom 4.1.2008 mit Größe 2 kB image not shown  

Quelle  simplex.cob   Sprache: Cobol

 
       Identification Division.
       Program-Id. pivot.
       author. Robert Sedgewick.
      * Simplex Verfahren, lineare Programmierung
      * aus Algorithmen p698 
       Data Division.
       Working-Storage Section.
         77 j     pic 9(4).
         77 k     pic 9(4).
       Linkage Section.
         01 a.
           05     pic 9(4) occurs 1000.
             05   pic 9(4) occurs 1000.
         77 p     pic 9(4).
         77 q     pic 9(4).
         77 best     pic 9(4)V9(2) occurs 1000.
       Procedure Division using cost val best.
         perform varying j from 0 until j=n
           perform varying k from m+1 by -1 until k=1
             if j not = p and k not = q then
               compute a(j,k)=a(j,k)-a(p,k)*a(j,q)/a(p,q)
           end-perform
         end-perform
         perform varying j from 0 until j=n
           if j not = p then 
             move 0 to a(j,q)
         end-perform
         perform varying k from 1 until k=m+1
           if k not = q then 
             compute a(p,k)=a(p,k)/a(p,q)
         end-perform
         move 1 to a(p,q)
       End-Program pivot.  
       
       Identification Division.
       Program-Id. simplex.
       author. Robert Sedgewick.
      * Simplex Verfahren, lineare Programmierung
      * aus Algorithmen p698 
       Data Division.
       Working-Storage Section.
         77 j     pic 9(4).
         77 k     pic 9(4).
       Linkage Section.
         01 a.
           05     pic 9(4) occurs 1000.
             05   pic 9(4) occurs 1000.
         77 p     pic 9(4).
         77 q     pic 9(4).
         77 best     pic 9(4)V9(2) occurs 1000.
       Procedure Division using cost val best.
         perform with test after
                 until (q=m+1) or (p=n+1)
           move 0 to q
           perform with test after
                   until (q=m+1) or (a(0,q)<0)
             add 1 to q
           end-perform          
           move 0 to p
           perform with test after
                   until (p=n+1) or (a(p,q)>0)
             add 1 to p
           end-perform          
           perform varying i from p+1 until i=n
             if a(i,q)>0 then
               if a(i,m+1)*a(i,q) < a(p,m+1)/a(p,q) then
                 move i to p
           end-perform
           if (q<m+1) and (p<n+1) then
             call pivot using a p q
         end-perform    
       End-Program pivot.         

93%


¤ Dauer der Verarbeitung: 0.11 Sekunden  (vorverarbeitet)  ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

Beweissystem der NASA

Beweissystem Isabelle

NIST Cobol Testsuite

Cephes Mathematical Library

Wiener Entwicklungsmethode

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung ist noch experimentell.