Key Visual - Manage Your Business Integration
 

Dez

20

CPLEX 12.6 ist da

By Marc Arnoldussen on Fr, Dec/20/2013 : 09:37

Pünktlich zur Weihnachtszeit gibt es auch für Mathematiker wieder etwas auszupacken! IBM hat soeben die neueste Version von ILOG CPLEX STUDIO herausgegeben, mittlerweile handelt es sich um die Version 12.6.
Wie üblich wurden letztes Jahr, mit CPLEX 12.5, neue Funktionen eingeführt, während die Version 12.5.1 einige Monate später hauptsächlich Performanceoptimierungen lieferte. Es war mit diesem neuen Release also mal wieder Zeit für neue Features!

Neue Features, neue Möglichkeiten

Natürlich kann ich hier nicht jede einzelne Neuerung vorstellen, und das möchte ich auch gar nicht. Natürlich sind bei einem ordentlichen Weihnachtspaket auch Unmengen an Schokolade, Printen, Lebkuchen und Marzipan enthalten, aber sie müssen nicht einzeln aufgeführt werden, auch wenn sie uns das Leben versüßen. Entsprechendes gilt hier beispielsweise für die Entwicklungsumgebung. Die verbesserte code completion erleichtert uns den Modellier-Alltag. Neue Scripting-Funktionalitäten eröffnen uns neue Möglichkeiten. Ein LP-File-Viewer erleichtert und die Analyse von Modellen, etc. All das sind natürlich nützliche Dinge und auch Wert, genauer betrachtet zu werden – meinen Fokus lege ich diesmal aber auf andere Funktionen

Optimieren mit High-Speed Rechenleistung

In Zeiten von Cloud-Diensten liegt es nahe, auch in der Optimierung nicht mehr nur auf den eigenen Rechnern zu optimieren, sondern die Rechenleistung von großen Servern auszunutzen. Einen ersten Schritt in diese Richtung ging IBM bereits mit der Version 12.5 und der parallel erschienen Server-Variante CPLEX Enterprise Server; letztlich aber auch nur ein logischer Schritt, der nicht weiter verwunderte. Damit war es schon möglich, sich einen Hochleistungsserver einzurichten, dort CPLEX zu installieren und die Optimierung somit auszulagern.

Jetzt geht die IBM aber noch einen Schritt weiter. Warum sollte man nur einen Server nutzen, wenn einem mehrere Server zur Verfügung stehen? Was einen Optimierungslauf mit gemischt-ganzzahligen Problemstellungen so zeitaufwändig macht, sind die durch das Branch & Bound-Verfahren entstehenden verschiedenen Knoten, die jeweils einzeln gelöst werden müssen. Das Grundprinzip dabei ist folgendes:

Branch & Bound am Beispiel erläutert

Nehmen wir an, Sie optimieren ihre LKW-Flotte für eine Lieferung. Rein rechnerisch benötigen Sie dabei vielleicht, laut erstem Optimierungsergebnis, 3,2 LKW. Dies ist natürlich nicht möglich, Sie können Ihre LKW schlecht zerteilen. Daher geben Sie Ihrem Modell als Information mit, dass die LKW-Anzahl eine ganze Zahl sein muss: Das Optimierungsproblem wird also zu einem MIP (Mixed Integer Programming)-Problem. Einfaches Auf- oder Abrunden führt dabei nicht zwangsläufig zu einer optimalen Lösung, daher sieht das Branch & Bound-Verfahren nun folgendes vor: Es werden zwei neue, voneinander unabhängige, Problemstellungen erstellt, die das Ursprungsmodell erweitern: Bei einem wird die maximale Anzahl der LKW auf drei gesetzt, im zweiten Modell wird die Mindestanzahl auf vier gesetzt. Beide Modelle werden erneut gelöst, daraufhin wieder auf Ganzzahligkeit überprüft usw., bis letztendlich eine gültige Lösung herauskommt.

Da diese neuen Modelle (Knoten) aber, wie schon erwähnt, voneinander unabhängig sind, müssen sie ja nicht zwangsläufig auf dem gleichen Rechner nacheinander abgearbeitet werden. Hier setzt nun der Distributed MIP-Algorithmus an, der für mich neben den ganzen kleineren Neuerungen sozusagen die eigentliche Überraschung unter dem Weihnachtsbaum darstellt: Er schickt die einzelnen Modelle an weitere Server, die ihm zur Verfügung stehen, und koordiniert somit den weiteren Verlauf. Wenn die neue Lösung wieder aufgeteilt werden muss, können die neuen Knoten entsprechend wieder auf gerade freie Server aufgeteilt werden. Die Rechenleistung von mehreren unabhängigen Systemen wird damit optimal genutzt. Somit muss der eigentliche Server weniger Knoten berechnen, da ihm die anderen Server Arbeit abnehmen: Die Zeit, die das Modell braucht, um gelöst zu werden, sinkt dementsprechend, abhängig von der Anzahl und Rechenleistung der weiteren Server.

Fazit

Natürlich ist dieses Prinzip immer abhängig von den einzelnen Systemen und den jeweiligen Verbindungen zwischen den Systemen, aber bei einer guten Konfiguration kann dies einen enormen Zeitvorteil einbringen. Meiner Meinung nach ist das also ein sehr interessanter Ansatz, der den Cloud-Gedanken nicht nur auf die Optimierung überträgt, sondern konsequent weiterdenkt!


Margin
Blog-Autor
Marc Arnoldussen
Marc Arnoldussen
Optimization & SCM Engineer
+49 221 97343-0
Margin
Informationen
7.0.1  7.0.2  8.0  Absatzmarkt  Active MQ  Active  Administration  Agile Lösungen  Agility  AMS  Analyst  Analytics  Anbindung  Anforderungen  Anwenderkonfernz  Apache  Application Server  API Management  API  AS2  ASP  Automatisierung  b2b  B2B Integration  Basic  Big Data  Blogreihe  Bluemix  Blueworks  BPM  Broker  BRMS  Bus  Business Process Management  Business Rules  Buzzword  Camel  Cast Iron  Cloud API  Cloud Computing  Cloud Integration  Cloud  Commerce  Compliance  Conference  Connect:Direct  CPLEX  CXF  DataPower  Decision Server Insights  Deployer  Deployment  Development  DFDL  Digitalisierte Prozesse  Digitalisierung  Domino  DSI  e-Fachverfahren  ersteinrichtung  Edi  Edition  Einführung  Einsatz  Entscheidung  Entwicklung  ESB  Excel  Fahrplanoptimierung  Features  Federated Connectivity  File Transfer  Filetransfer  Finance  FTE  gentran  gis  Geschäftsprozesse  Go Live  Google  Governance  Hardware ESB  Hosting  Hybrid-Cloud  Hybrid Cloud  Hybrid  IBM Blueworks  IBM BPM  IBM Integration Bus  IBM InterConnect  IBM  ILOG DOC  ILOG LNP  ILOG Transportation Analyst  ILOG  Impact  Infrastruktur  Installation  Integration as a Service  Integration Bus  Integration  Integrator  Interoperabilität  IT-Business-Alignment  Konfiguration  Linear  LNP  Logistik  monitoring  M2M  Manage File Transfer  Management  Marktplatz  Mathematik  Mediation  Message Broker  Messages  Messagesight  Messaging  MFT  Migration  Modellierung  MQ  MQTT  Multicast  Muster  Nachlese  Neuerungen in V7.0.1  Neuerungen  off-premise  on-premise  ODM  ODME  Öffentliche Verwaltung  Open Source  Operational Decision Management  Optimierung  OPL  OSGi  Outsourcing  PaaS  Pattern Integration  Pattern  Patterns  Performance  Portfolio  Praxis  Private  Process Server  Produktionsplanung  Prozessautomatisierung  Prozessintegration  Prozessmodelierung  Prozessoptimierung  PureSystem  Qualität  Real Time  Regelmanagement  Rollen  Routenplanung  Routing  ROI  SaaS API  SaaS Integration  SaaS  Salesforce  Schwerpunktanalyse  Script  SCM  Security  Service Federation Management  Servicemix  SFM  SI  Slotting  SoapUI  SOA Cloud Symposium  SOA  SPSS  Standard  Standardplattform  Standardtool  Standortoptimierung  Sterling Integrator  Sterling  SugarCRM  Symposium  Template  TIP  TM1  TOSCA  Transportation  Transportoptimierung  Übersicht  Umstieg  Unix  Update  vergleich  Vorteile  worklight  workload  wtc  Wartung  Websphere  Websphere: Rollen  WebService Security  WebSphere Enterprise Service Bus  WebSphere ESB  WebSphere MessageBroker  WebSphere Technical Conference  WebSphere  WESB  Workloads  WODM  XAR