LINDO API – Neu in LINDO API 12.0

Neu in LINDO API 12.0

Die nachfolgende Liste enthält die neuen Funktionen sowie Informationen zur Steigerung der Performance der jeweils angegeben Version der LINDO API.

Neu in LINDO API 12.0

Version 12 der LINDO API enthält umfangreiche Leistungssteigerungen und neue Funktionen.

Bessere Performance bei linearen Modellen mit dem verbesserten Simplex-Solvern

Die Erweiterungen der Simplex-Solver in LINDO API 12 steigern die Lösungsgeschwindigkeit linearer Modelle im Durchschnitt um 18 % bei Verwendung des einfachen und um 15 % bei Verwendung des dualen Simplex-Solvers.

Erhebliche Performancesteigerung bei großen quadratischen Modellen

Verbesserungen beim Umgang mit großen quadratischen Matrizen, z. B. 1.000 x 1.000, bieten erhebliche Performanceverbesserungen beim Lösen quadratischer Programmiermodelle.

Verbessertes Handling von Modellen mit unstetigen Funktionen

Modelle, die unstetige Funktionen wie MOD(x,k), INT(x), ROUND(x) verwenden, können mit LINDO API 12 noch schneller gelöst werden.

Leistungssteigerung beim gleichzeitigen Lösen von linearen Modellen unter Verwendung verschiedener Solver

Die neue Multi-Core-Funktion erlaubt es, unterschiedliche Solver verschiedenen Cores zuzuweisen und so simultan auszuführen. Dies führt besonders in Situationen, in denen es schwierig ist vorherzusagen, ob beispielsweise der einfache, duale oder der Barrier-Solver die schnellste Lösung eines linearen Modells liefert, zu schnelleren Ergebnissen.

Unterstützung der Spezifikation eines Zielwerts beim Multi-Start-Nonlinear-Solver

Anwender können in LINDO API 12 einen Zielwert für die Zielfunktion vorgeben. Sobald dann einer der Berechnungsthreads des Multi-Start-Solvers das angegebene Ziel erreicht, stoppt die gesamte Berechnung.

Neue Funktionen für Konstruktionsentwürfe

Neue arithmetische Funktionen SIGNPOWER, LMTD und RLMTD sind in LINDO API 12 integriert worden. Diese Funktionen kommen v. a. beim Konstruktionsentwurf z. B. nichtlinearer Netzwerke oder Wärmetauscher zur Anwendung.

Neu in LINDO API 11.0

LINDO API 11 bietet folgende neuen Funktionen und Performanceverbesserungen:

Optimierter Simplex-Solver für schnelleres Lösen von linearen Modellen

LINDO API 11 bietet einen optimierten Simplex-Solver, der große lineare Modelle bis zu 20 % schneller mit dem einfachen und bis zu 15 % schneller mit dem dualen Simplex-Algorithmus löst.

Verbesserter Integer-Solver

Neue Funktionen zur Symmetrieerkennung in LINDO API 11 reduzieren die Zeit, die zum Nachweis der Optimalität bei bestimmten Modellklassen mit ganzzahligen Variablen benötigt wird, drastisch. Des Weiteren wurde die Performance bei Markowitz-Portfolio-Problemen mit Mindestkaufmengen und/oder Begrenzung auf eine Anzahl von Instrumenten auf Non-Zero-Level verbessert. Zusätzliche Optimierungen führen zu einer schnelleren Lösung bei bestimmten Aufgabenverteilungsmodellen.

Verbesserter Global-Solver

Die Stabilität und Robustheit des Global-Solvers wurde mit Version 11 der LINDO API durch verschiedene Erweiterungen bei der quadratischen Erkennung und Reichweitenminderung erreicht. Auch wurde die Nutzung von Konvexität bei bestimmten Verhältnis-Bedingungen verbessert, wie sie z. B. beim Entwurf von Netzwerken für Wärmetauscher auftreten können.

Unterstützung von mehr Typen von Nebenbedingungen

In LINDO API 11 werden mehrere neue Funktions- und Nebenbedingungstypen erkannt, z. B. die @AllDiff-Nebenbedingung für allgemeine ganzzahlige Variablen. Die @AllDiff-Nebenbedingung erlaubt es, eine Menge von ganzzahligen Variablen zu spezifizieren, so dass jede Variable der Menge einen eindeutigen, von allen anderen Variablen der Menge unterschiedlichen Wert hat.

Neu in LINDO API 10.0

Schnelleres Lösen von linearen Modellen mit dem verbesserten Simplex Solver

  • Die Erweiterung des Simplex Solvers in LINDO API 10 steigert die Performance bei großen linearen Modellen. Dabei beträgt die Steigerung der Geschwindigkeit im Durchschnitt 35 % bei großen Modellen, wenn der einfache Simplex-Algorithmus verwendet wird, und 20 % bei Verwendung des dualen Simplex-Algorithmus.
  • Zusätzliche Erweiterungen am LP Solver beinhalten z. B. die Unterstützung für multiple objektive Kriterien.

Verbesserter Integer Solver mit neuen Funktionen

  • Der neu eingeführte Optimierungsmodus in LINDO API 10 gewährleistet reproduzierbare Ergebnisse bei verschiedenen Durchläufen.
  • Erweiterungen am K-Best-Algorithmus erlauben es, die k-besten Lösungen mit nur geringem zeitlichen Mehraufwand zu finden als nur eine Lösung.
  • Neue heuristische Algorithmen finden schneller Lösungen bei Modellen mit Rucksack-Nebenbedingungen und Blockstrukturen.
  • Neue Vorverarbeitungsstufen engen die Variablengrenzen bei Klassen von nicht-linearen Modellen ein und führen somit zu einer besseren Performance.

Erweiterter Stochastic Solver

  • Große lineare mehrstufige stochastische Programminstanzen lassen sich durch verbesserte Schnittverwaltung von LINDO API 10 bei der geschachtelten Bender-Zerlegung (Nested Bender Decomposition) 60 % schneller lösen.
  • Bessere Handhabung von mehrstufigen stochastischen Optimierungsmodellen, die keinen vollständigen Rekurs haben.
  • Erweiterungen des Parsers erlauben die Verwendung von beliebig komplexen Funktionen stochastischer Parameter.

Verbesserter Global Solver

  • Die Performance des Global Solvers wurde bei Klassen von quadratischen Problemen drastisch verbessert; dies betrifft insbesondere nicht-konvexe quadratische Probleme, die von anderen Solvern abgelehnt oder nur langsam für ein lokales Optimum durch herkömmliche Solver für nicht-lineare Modelle gelöst werden konnten. Auch kann der Global Solver in LINDO API 10 bisher nicht lösbare Probleme global optimieren, z. B. Finanzportfolio-Modelle mit Mindestkaufmenge und/oder einer begrenzten Anzahl an Instrumenten auf Nonzero-Level.
  • Version 10 der LINDO API enthält einen neuen Prozess zur Grenzeinschränkung bei linearen Prozeduren und verbessert dadurch die Lösbarkeit bei linearisierten Modellen. Funktionen wie MAX(), MIN(), ABS(), x*z (z =0 oder 1) u. a. sind drastisch schneller und liefern eine stabile Leistung.

Weitere Neuerungen

  • Die Sammlung von Matrixoperationen, die durch den Anwender aufrufbar sind, wurde dahingehende erweitert, dass in LINDO API 10 auch mit Kovarianz-Matrizen, wie sie bei Finanzportfolios verwendet werden, gearbeitet werden kann. Routinen enthalten allgemeine Eigenwert-Zerlegung, Cholesky-Faktorisierung zur Erzeugung von korrelierenden Zufallsvariablen plus lineare Regression, z. B. für Bedarfprognosen bei Produktionsplanungsmodellen.

Neu in LINDO API 9.0

Version 9 der LINDO API enthält folgende neue Funktionen und Optimierungen

  • Verbesserungen der Geschwindigkeit und Robustheit des Simplex-Verfahrens für lineare Programmierung
  • Neue Vorverarbeitung bei linearer und ganzzahliger Programmierung zur Reduzierung der Koeffizientendichte bei bestimmten dichtbesetzten LP-Matrizen
  • Verbesserungen bei mit dem Rucksackproblem verbundenen Zuschnitten, so dass sich die Lösungszeit bei Modellen mit dem Rucksackproblem-ähnlichen Bedingungen verringert
  • Verbesserte Auswahlregeln des Default-Knotens zur Performancesteigerung bei den meisten gemischt-ganzzahligen Programmen
  • Neue Regeloptionen zu Verzweigungsvariablen "Maximale Koeffizienten" und "Nachbarschaftsverzweigungen" können die Anzahl der Verzweigungen bei bestimmten gemischt-ganzzahligen Programmen reduzieren.
  • Die perspektivische Reformulierungsfunktion verbessert die Performance bei quadratischen Portfolio-Modellen mit semi-kontinuierlichen Variablen, z. B. Min-Buy Quantities.
  • Die optimierten Standardeinstellungen für nicht-lineare Programme erhöhen die Lösungsgeschwindigkeit um durchschnittlich 5 %.
  • Schnellere Verarbeitung von langen nicht-linearen Ausdrücken in nicht-linearen Programmen, z. B. bei mehrere tausend Terme wie sie in nicht-linearen Regressionen mit tausenden von Beobachtungen vorkommen.
  • Der Global Solver unterstützt noch mehr Funktionen, z. B. Verteilungsfunktionen und inverse Verteilungsfunktionen für Normal-, Cauchy-, Exponential- und logistische Verteilungen usw.
  • Unterstützung für semidefinite Programme (SDP) und positiv definite Programme (POSD) inklusive ganzzahligen Variablen, z. B. wenn bei der Schätzung der Kovarianzmatrix eines Portfolios die Bedingung hinzukommt, dass die Matrix positiv semi-definit sein muss.
  • Quadratische Reparaturfunktion für fast-konvexe quadratische Programme (QP), so dass sich die Performance bei nicht ganz konvexen quadratischen Programmen verbessert.
  • Schwachbesetzte Cholesky-Zerlegung und verwandte Hilfsfunktionen der linearen Algebra wurden zur API hinzugefügt.
  • Die Funktion LScomputeFunction() stellt eine einzige Schnittstelle zum direkten Aufruf der meisten der über 150 mathematischen Funktionen in der Operator-Bibliothek der API bereit.

Neue Features in LINDO API 8.0

  • Geschwindigkeitssteigerung auf Multicore-Systemen
    Der Barrier-, Global-, Integer, Multistart- und Stochastic-Solver der LINDO API 8 wurden so erweitert, dass sich die Lösungsgeschwindigkeit vieler Optimierungsaufgaben auf Multicore-Systemen deutlich gesteigert hat.
  • Neuer Branch-and-Price-Solver
    Mit dem in LINDO API 8 eingeführten Branch-and-Price-Solver können Probleme mit Blockstrukturen/-matrizen schneller als bisher gelöst werden, da der Solver Multicore-Systeme unterstützt. Weiterhin wurde die Erkennung von Dekompositionsstrukturen zur Unterstützung des Branch-and-Price-Solvers verbessert.
  • Verbesserter MIP-Solver
    LINDO API 8 verbessert signifikant die Heuristiken zum Auffinden guter, annehmbarer Lösungen von ganzzahligen Modellen. Das Simple-Rounding- und das Feasibility-Pump-Verfahren verwenden nun Bound Propagation zur Verbesserung beim Auffinden einer annehmbaren gemischt-ganzzahligen Lösung im aktuellen Pfad. Des Weiteren wurde eine neue, weiter entwickelte Heuristik zur Verbesserung der bisher besten gemischt-ganzzahligen Lösung unter Berücksichtigung bereits erhaltener gemischt-ganzzahliger Lösungen und der aktuellen Relaxation eingeführt. Dadurch ist der MIP-Solver in vielen Fällen in der Lage, bessere gemischt-ganzzahlige Lösungen in kürzerer Zeit zu finden.
  • Schnellerer und verbesserter Multistart-Solver
    Der Multistart-Solver wurde so verbessert, dass er bis zu zwei Mal schneller gegenüber der Vorgängerversion ist. Die Chancen, die global beste Lösung zu finden, haben sich für viele nicht-konvexe Modelle zwischen 10 und 15 % erhöht.
  • Leistungsstärkerer Stochastic-Solver
    Weitreichende Verbesserungen der Nested-Bender-Decomposition führen dazu, dass der Algorithmus sechsmal schneller als bisher ist. Der Chance-Programming-Solver verwendet nun einen genetischen Algorithmus zum Auffinden hochqualitativ annehmbarer Lösungen von großen Instanzen. Modelle dieser Klasse können nun auch durch die einfache Bender-Dekomposition gelöst werden.
  • Mehr unterstützte Wahrscheinlichkeitsverteilungen
    Mit LINDO API 8 werden auch die Beta-Binomial- und Pareto-Verteilung unterstützt. Bei stochastischen Modellen können sogar auch zufällige Variablen über die beiden Verteilungen spezifiziert werden.

LINDO API 7.0 - Neue Features

LINDO API 7.0 beinhaltet mehrere Solver-Verbesserungen und Unterstützung für neue Wahrscheinlichkeitsfunktionen.

Verbesserungen am Stochastic Solver

  • Erweiterte API-Funktionalität zur Unterstützung von stochastischen Modellen mit probabilistischen Nebenbedingungen, so genannten Chance-Constrained Programmen (CCP).
  • Verbesserte Methoden, um Korrelationen zwischen stochastischen Parametern zu induzieren.

Verbesserungen am LP Solver für lineare Modelle

  • Eine Option Sprint, um "schlanke" lineare Modelle mit Millionen von Variablen effizient zu lösen.

Verbesserungen am MIP Solver für gemischt-ganzzahlige Modelle

  • Signifikante Verbesserungen von Heuristiken, um auf schnellem Wege gute, ganzzahlig Lösungen zu finden.
  • Verbesserte Identifikation spezieller Strukturen, wie in multi-periodischen Modellen und deren Ausnutzung, um die Lösungszeiten signifikant zu reduzieren.

Verbesserungen am Global Solver

  • Verbesserte Heuristiken, um auf schnellem Weg eine gute, realisierbare Lösung zu finden.
  • Nebenbedingungen können vom Anwender als konvex definiert werden, wenn der Global Solver nicht in der Lage ist, diese als konvex zu identifizieren. Dadurch kann der Beweis globaler Optimalität beschleunigt werden.
  • Verbesserte Identifizierung von Nebenbedingungen, die als Second-Order-Cone-Nebenbedingungen (SOC) umformuliert und daher durch den schnellen SOC-Solver gelöst werden können.
  • Verbesserung beim Umgang mit nicht-linearen Modellen, die quadratische Ausdrücke enthalten, besonders in Bezug auf nicht-konvexe quadratische Ausdrücke

Andere Solver, Math Library und Hilfsprogramme

  • Mehr als zwei Dutzend neue mathematische Funktionen, um verschiedene Dichte-, Verteilungs- und inverse Verteilungsfunktionen von Wahrscheinlichkeitsverteilungen zu unterstützen.
  • Neuer, auf Benders Zerlegung basierender Solver zur Lösung großer LPs mit relativ wenigen verbundenen Spalten. MILPs, deren ganzzahlige Variablen nur in verbundenen Spalten erscheinen, können mit diesem Solver auch gelöst werden.
  • Aufrufbare Routine, um Strukturen von Matrizen in (beinahe) unterer Dreiecksform zu identifizieren.

Neue Stochastik-Programmierschnittstelle

  • Modellierung und Optimierung mit unbestimmten Elementen in mehrstufigen linearen, nicht-linearen und ganzzahligen stochastischen Modellen
  • Umfangreiche API-Funktionen zur Erzeugen und Lösen von stochastischen Modellen
  • Benders-Zerlegung für die Lösung stochastischer Modelle
  • Deterministische Äquivalent-Methode zur Lösung von nicht-linearen und stochastischen Modellen
  • Unterstützung von über 20 kontinuierlichen oder diskreten parametrischen Verteilungen
  • Verwendung von benutzerdefinierte Verteilungsfunktionen über Callback-Funktionen möglich
  • Anpassbare Szenarien für Stichproben über die statistische Stichproben API

API für statistische Stichproben

  • Umfangreiche API-Funktionen zum Ziehen von Stichproben aus verschiedenen Wahrscheinlichkeitsverteilungen
  • Varianzreduktion mit Latin-Hyper-Cube und Anti-Thetic Variates Sampling
  • Generierung von Stichproben, die nach Pearson, Spearman oder Kendall-Korrelationsmaßen korrelieren
  • Erzeugung von Pseudo-Zufallszahlen durch drei verschiedene Generatoren möglich

Verbesserungen am Simplex Solver

  • Durch die verbesserten primären und dualen-Simplex-Solver können große lineare Modelle durchschnittlich 20 % schneller gelöst.

© ADDITIVE GmbH. Alle Rechte, Irrtümer und Änderungen vorbehalten.

Impressum  /  Datenschutz  /  AGB