Benutzer-Werkzeuge

Webseiten-Werkzeuge


software:mathprog

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.

Link zu der Vergleichsansicht

Beide Seiten, vorherige ÜberarbeitungVorherige Überarbeitung
Nächste ÜberarbeitungBeide Seiten, nächste Überarbeitung
mathprog [2014/12/16 15:48] – added StockCutting.mod as link ojdomathprog [2014/12/16 15:50] – [Cutting stock] added stockcutting.mod file upload ojdo
Zeile 8: Zeile 8:
   * {{:software:soforsg.mod|SOforSG.mod}} that can be solved offline using [[http://www.gnu.org/software/glpk/|GLPK]], an open-source linear programming solver. It features more output as it is not limited in length by URL limits.   * {{:software:soforsg.mod|SOforSG.mod}} that can be solved offline using [[http://www.gnu.org/software/glpk/|GLPK]], an open-source linear programming solver. It features more output as it is not limited in length by URL limits.
  
-===== Storage =====+===== Cutting stock problem =====
  
  
   * [[https://www3.nd.edu/~jeff/mathprog/mathprog.html?model=%23%20Stock%20Cutting%20Problem%0A%0A%23%20Products%0Aset%20PRODUCTS%3B%0Aparam%20pLength%7BPRODUCTS%7D%3B%0Aparam%20demand%7BPRODUCTS%7D%3B%0A%0A%23%20Raw%20Materials%0Aset%20RAWMATERIALS%3B%0Aparam%20rLength%7BRAWMATERIALS%7D%3B%0Aparam%20avail%7BRAWMATERIALS%7D%3B%0A%0A%23%20Big%20M%20should%20be%20greater%20than%20the%20length%20of%20any%20stock%20piece%0Aparam%20bigM%3B%0Acheck%20%7Br%20in%20RAWMATERIALS%7D%20%3A%20bigM%20%3E%20rLength%5Br%5D%3B%0A%0A%23%20Create%20indexed%20sets%20enumerating%20all%20production%20pieces%0Aset%20Q%7Bp%20in%20PRODUCTS%7D%20%3A%3D%201..demand%5Bp%5D%20%3B%0A%0A%23%20Create%20indexed%20sets%20enumerating%20all%20raw%20material%20pieces%0Aset%20S%7Br%20in%20RAWMATERIALS%7D%20%3A%3D%201..avail%5Br%5D%3B%0A%0A%23%20y%5Bp%2Cq%2Cr%2Cs%5D%20%3D%201%20assigns%20(product%20p%2C%20piece%20q)%20to%20(raw%20material%20r%2C%20piece%20s)%0Avar%20y%7Bp%20in%20PRODUCTS%2C%20q%20in%20Q%5Bp%5D%2C%20r%20in%20RAWMATERIALS%2C%20s%20in%20S%5Br%5D%7D%20binary%3B%0A%0A%23%20u%5Br%2Cs%5D%20%3D%201%20indicates%20use%20of%20(raw%20material%20r%2C%20piece%20s)%0Avar%20u%7Br%20in%20RAWMATERIALS%2C%20s%20in%20S%5Br%5D%7D%20binary%3B%0A%0A%23%20w%5Br%2Cs%5D%20is%20the%20remainder%20left%20over%20from%20(raw%20material%20r%2C%20piece%20s)%0Avar%20w%7Br%20in%20RAWMATERIALS%2C%20s%20in%20S%5Br%5D%7D%20%3E%3D%200%3B%0A%0A%23%20Assign%20product%20(p%2Cq)%20only%20once%20to%20the%20set%20of%20all%20raw%20materials%20(r%2Cs)%0As.t.%20A%7Bp%20in%20PRODUCTS%2C%20q%20in%20Q%5Bp%5D%7D%20%3A%20sum%7Br%20in%20RAWMATERIALS%2C%20s%20in%20S%5Br%5D%7D%20y%5Bp%2Cq%2Cr%2Cs%5D%20%3D%201%3B%0A%0A%23%20Cut%20enough%20pieces%20to%20exactly%20meet%20the%20demand%20for%20each%20product%0As.t.%20B%7Bp%20in%20PRODUCTS%7D%20%3A%20sum%7Bq%20in%20Q%5Bp%5D%2C%20r%20in%20RAWMATERIALS%2C%20s%20in%20S%5Br%5D%7D%20y%5Bp%2Cq%2Cr%2Cs%5D%20%3D%20demand%5Bp%5D%3B%0A%0A%23%20Do%20not%20exceed%20the%20length%20each%20piece%20of%20raw%20material%0As.t.%20C%7Br%20in%20RAWMATERIALS%2C%20s%20in%20S%5Br%5D%7D%20%3A%20%0A%20%20%20%20sum%7Bp%20in%20PRODUCTS%2C%20q%20in%20Q%5Bp%5D%7D%20pLength%5Bp%5D*y%5Bp%2Cq%2Cr%2Cs%5D%20%2B%20w%5Br%2Cs%5D%20%3D%20rLength%5Br%5D%3B%0A%20%20%20%20%0A%23%20Determine%20if%20a%20piece%20(r%2Cs)%20of%20raw%20material%20is%20used.%0As.t.%20D%7Br%20in%20RAWMATERIALS%2C%20s%20in%20S%5Br%5D%7D%20%3A%20bigM*u%5Br%2Cs%5D%20%3E%3D%20sum%7Bp%20in%20PRODUCTS%2C%20q%20in%20Q%5Bp%5D%7D%20y%5Bp%2Cq%2Cr%2Cs%5D%3B%0A%0Aminimize%20Pieces%20%3A%20sum%7Br%20in%20RAWMATERIALS%2C%20s%20in%20S%5Br%5D%7D%20rLength%5Br%5D*s*u%5Br%2Cs%5D%3B%0A%0Asolve%3B%0A%0Aprintf%20%22Cutting%20Plan%5Cn%22%3B%0Afor%20%7Br%20in%20RAWMATERIALS%7D%20%3A%20%7B%0A%20%20%20%20printf%20%22%20%20%20%20Raw%20Material%20%25s%20%5Cn%22%2C%20r%3B%0A%20%20%20%20for%20%7Bs%20in%20S%5Br%5D%7D%20%3A%20%7B%0A%20%20%20%20%20%20%20%20printf%20%22%20%20%20%20%20%20%20%20Piece%20%25s-%25d%20%3A%20Remainder%20%3D%20%255.2f%20%3A%20Cut%20product%20pieces%20%22%2C%20r%2Cs%2C%20w%5Br%2Cs%5D%3B%0A%20%20%20%20%20%20%20%20for%20%7Bp%20in%20PRODUCTS%7D%20%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20for%20%7Bq%20in%20Q%5Bp%5D%20%3A%20y%5Bp%2Cq%2Cr%2Cs%5D%7D%20%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20printf%20%22%25s-%25d%20%22%2C%20p%2C%20q%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20printf%20%22%5Cn%22%3B%0A%20%20%20%20%7D%0A%20%20%20%20printf%20%22%5Cn%22%3B%0A%7D%0A%0Aprintf%20%22Production%20Plan%5Cn%22%3B%0Afor%20%7Bp%20in%20PRODUCTS%7D%20%3A%20%7B%0A%20%20%20%20printf%20%22%20%20%20%20Product%20%25s%20%5Cn%22%2C%20p%3B%0A%20%20%20%20for%20%7Bq%20in%20Q%5Bp%5D%7D%20%3A%20%7B%0A%20%20%20%20%20%20%20%20printf%20%22%20%20%20%20%20%20%20%20Piece%20%25s-%25d%20%3A%20Cut%20from%20stock%20piece%20%22%2C%20p%2C%20q%3B%0A%20%20%20%20%20%20%20%20for%20%7Br%20in%20RAWMATERIALS%7D%20%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20for%20%7Bs%20in%20S%5Br%5D%20%3A%20y%5Bp%2Cq%2Cr%2Cs%5D%7D%20%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20printf%20%22%25s-%25d%20%22%2C%20r%2C%20s%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20printf%20%22%5Cn%22%3B%0A%20%20%20%20%7D%0A%20%20%20%20printf%20%22%5Cn%22%3B%0A%7D%0A%0Adata%3B%0A%0Aparam%20bigM%20%3A%3D%2020%3B%0A%0Aparam%3A%20PRODUCTS%3A%20pLength%20demand%20%3A%3D%0A%20%20%20%20%20%20%20%20'7m'%20%20%20%20%20%20%20%207%20%20%20%20%20%20%20%203%0A%20%20%20%20%20%20%20%20'6m'%20%20%20%20%20%20%20%206%20%20%20%20%20%20%20%202%0A%20%20%20%20%20%20%20%20'4m'%20%20%20%20%20%20%20%204%20%20%20%20%20%20%20%206%0A%20%20%20%20%20%20%20%20'3m'%20%20%20%20%20%20%20%203%20%20%20%20%20%20%20%201%20%3B%0A%20%20%0Aparam%3A%20RAWMATERIALS%3A%20rLength%20avail%20%3A%3D%20%0A%20%20%20%20%20%20%20'15m'%20%20%20%20%20%20%2015%20%20%20%20%20%20%20%204%0A%20%20%20%20%20%20%20'10m'%20%20%20%20%20%20%2010%20%20%20%20%20%20%20%205%20%3B%0A%20%20%0Aend%3B%0A|Try StockCutting online]]   * [[https://www3.nd.edu/~jeff/mathprog/mathprog.html?model=%23%20Stock%20Cutting%20Problem%0A%0A%23%20Products%0Aset%20PRODUCTS%3B%0Aparam%20pLength%7BPRODUCTS%7D%3B%0Aparam%20demand%7BPRODUCTS%7D%3B%0A%0A%23%20Raw%20Materials%0Aset%20RAWMATERIALS%3B%0Aparam%20rLength%7BRAWMATERIALS%7D%3B%0Aparam%20avail%7BRAWMATERIALS%7D%3B%0A%0A%23%20Big%20M%20should%20be%20greater%20than%20the%20length%20of%20any%20stock%20piece%0Aparam%20bigM%3B%0Acheck%20%7Br%20in%20RAWMATERIALS%7D%20%3A%20bigM%20%3E%20rLength%5Br%5D%3B%0A%0A%23%20Create%20indexed%20sets%20enumerating%20all%20production%20pieces%0Aset%20Q%7Bp%20in%20PRODUCTS%7D%20%3A%3D%201..demand%5Bp%5D%20%3B%0A%0A%23%20Create%20indexed%20sets%20enumerating%20all%20raw%20material%20pieces%0Aset%20S%7Br%20in%20RAWMATERIALS%7D%20%3A%3D%201..avail%5Br%5D%3B%0A%0A%23%20y%5Bp%2Cq%2Cr%2Cs%5D%20%3D%201%20assigns%20(product%20p%2C%20piece%20q)%20to%20(raw%20material%20r%2C%20piece%20s)%0Avar%20y%7Bp%20in%20PRODUCTS%2C%20q%20in%20Q%5Bp%5D%2C%20r%20in%20RAWMATERIALS%2C%20s%20in%20S%5Br%5D%7D%20binary%3B%0A%0A%23%20u%5Br%2Cs%5D%20%3D%201%20indicates%20use%20of%20(raw%20material%20r%2C%20piece%20s)%0Avar%20u%7Br%20in%20RAWMATERIALS%2C%20s%20in%20S%5Br%5D%7D%20binary%3B%0A%0A%23%20w%5Br%2Cs%5D%20is%20the%20remainder%20left%20over%20from%20(raw%20material%20r%2C%20piece%20s)%0Avar%20w%7Br%20in%20RAWMATERIALS%2C%20s%20in%20S%5Br%5D%7D%20%3E%3D%200%3B%0A%0A%23%20Assign%20product%20(p%2Cq)%20only%20once%20to%20the%20set%20of%20all%20raw%20materials%20(r%2Cs)%0As.t.%20A%7Bp%20in%20PRODUCTS%2C%20q%20in%20Q%5Bp%5D%7D%20%3A%20sum%7Br%20in%20RAWMATERIALS%2C%20s%20in%20S%5Br%5D%7D%20y%5Bp%2Cq%2Cr%2Cs%5D%20%3D%201%3B%0A%0A%23%20Cut%20enough%20pieces%20to%20exactly%20meet%20the%20demand%20for%20each%20product%0As.t.%20B%7Bp%20in%20PRODUCTS%7D%20%3A%20sum%7Bq%20in%20Q%5Bp%5D%2C%20r%20in%20RAWMATERIALS%2C%20s%20in%20S%5Br%5D%7D%20y%5Bp%2Cq%2Cr%2Cs%5D%20%3D%20demand%5Bp%5D%3B%0A%0A%23%20Do%20not%20exceed%20the%20length%20each%20piece%20of%20raw%20material%0As.t.%20C%7Br%20in%20RAWMATERIALS%2C%20s%20in%20S%5Br%5D%7D%20%3A%20%0A%20%20%20%20sum%7Bp%20in%20PRODUCTS%2C%20q%20in%20Q%5Bp%5D%7D%20pLength%5Bp%5D*y%5Bp%2Cq%2Cr%2Cs%5D%20%2B%20w%5Br%2Cs%5D%20%3D%20rLength%5Br%5D%3B%0A%20%20%20%20%0A%23%20Determine%20if%20a%20piece%20(r%2Cs)%20of%20raw%20material%20is%20used.%0As.t.%20D%7Br%20in%20RAWMATERIALS%2C%20s%20in%20S%5Br%5D%7D%20%3A%20bigM*u%5Br%2Cs%5D%20%3E%3D%20sum%7Bp%20in%20PRODUCTS%2C%20q%20in%20Q%5Bp%5D%7D%20y%5Bp%2Cq%2Cr%2Cs%5D%3B%0A%0Aminimize%20Pieces%20%3A%20sum%7Br%20in%20RAWMATERIALS%2C%20s%20in%20S%5Br%5D%7D%20rLength%5Br%5D*s*u%5Br%2Cs%5D%3B%0A%0Asolve%3B%0A%0Aprintf%20%22Cutting%20Plan%5Cn%22%3B%0Afor%20%7Br%20in%20RAWMATERIALS%7D%20%3A%20%7B%0A%20%20%20%20printf%20%22%20%20%20%20Raw%20Material%20%25s%20%5Cn%22%2C%20r%3B%0A%20%20%20%20for%20%7Bs%20in%20S%5Br%5D%7D%20%3A%20%7B%0A%20%20%20%20%20%20%20%20printf%20%22%20%20%20%20%20%20%20%20Piece%20%25s-%25d%20%3A%20Remainder%20%3D%20%255.2f%20%3A%20Cut%20product%20pieces%20%22%2C%20r%2Cs%2C%20w%5Br%2Cs%5D%3B%0A%20%20%20%20%20%20%20%20for%20%7Bp%20in%20PRODUCTS%7D%20%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20for%20%7Bq%20in%20Q%5Bp%5D%20%3A%20y%5Bp%2Cq%2Cr%2Cs%5D%7D%20%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20printf%20%22%25s-%25d%20%22%2C%20p%2C%20q%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20printf%20%22%5Cn%22%3B%0A%20%20%20%20%7D%0A%20%20%20%20printf%20%22%5Cn%22%3B%0A%7D%0A%0Aprintf%20%22Production%20Plan%5Cn%22%3B%0Afor%20%7Bp%20in%20PRODUCTS%7D%20%3A%20%7B%0A%20%20%20%20printf%20%22%20%20%20%20Product%20%25s%20%5Cn%22%2C%20p%3B%0A%20%20%20%20for%20%7Bq%20in%20Q%5Bp%5D%7D%20%3A%20%7B%0A%20%20%20%20%20%20%20%20printf%20%22%20%20%20%20%20%20%20%20Piece%20%25s-%25d%20%3A%20Cut%20from%20stock%20piece%20%22%2C%20p%2C%20q%3B%0A%20%20%20%20%20%20%20%20for%20%7Br%20in%20RAWMATERIALS%7D%20%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20for%20%7Bs%20in%20S%5Br%5D%20%3A%20y%5Bp%2Cq%2Cr%2Cs%5D%7D%20%3A%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20printf%20%22%25s-%25d%20%22%2C%20r%2C%20s%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20printf%20%22%5Cn%22%3B%0A%20%20%20%20%7D%0A%20%20%20%20printf%20%22%5Cn%22%3B%0A%7D%0A%0Adata%3B%0A%0Aparam%20bigM%20%3A%3D%2020%3B%0A%0Aparam%3A%20PRODUCTS%3A%20pLength%20demand%20%3A%3D%0A%20%20%20%20%20%20%20%20'7m'%20%20%20%20%20%20%20%207%20%20%20%20%20%20%20%203%0A%20%20%20%20%20%20%20%20'6m'%20%20%20%20%20%20%20%206%20%20%20%20%20%20%20%202%0A%20%20%20%20%20%20%20%20'4m'%20%20%20%20%20%20%20%204%20%20%20%20%20%20%20%206%0A%20%20%20%20%20%20%20%20'3m'%20%20%20%20%20%20%20%203%20%20%20%20%20%20%20%201%20%3B%0A%20%20%0Aparam%3A%20RAWMATERIALS%3A%20rLength%20avail%20%3A%3D%20%0A%20%20%20%20%20%20%20'15m'%20%20%20%20%20%20%2015%20%20%20%20%20%20%20%204%0A%20%20%20%20%20%20%20'10m'%20%20%20%20%20%20%2010%20%20%20%20%20%20%20%205%20%3B%0A%20%20%0Aend%3B%0A|Try StockCutting online]]
- +  {{:software:stockcutting.mod|StockCutting.mod}} that can be solved offline using GLPK.
-  +
  
  
software/mathprog.txt · Zuletzt geändert: 2021/09/08 13:21 von ojdo