taramath
IntegerProgramming.minimize
zur Lösung eines ganzzahligen Programms
.minimize .maximize .define_method .cutting_plane .set_accuracy .set_maximal_iterations .get_number_of_iterations
Beschreibung
Die Funktion besitzt folgende Argumente:
c Kostenvektor
t String oder Array zur Definition der Ganzzahligkeit (optional)
A Matrix zur Definition der Nebenbedingungen
b Vektor zur Definition der Nebenbedingungen
s Vektor zur Definition der Gleichheit der Nebenbedingungen (optional)
Es wird das ganzzahlige Programm gemäß der Eingabedaten mit dem Branch-and-Bound Verfahren gelöst: Falls nur die verpfichtenden Argumente c, A und b übergeben werden, so wird das ganzzahlige Programm
für einen Vektor mit ganzzahligen Einträgen gelöst.
Die Definitionen der optionalen Argumente t =  und s =  sind folgendermaßen zu verstehen:
Für "i" wird die Variable als ganzzahlig angenommen.
Für "b" wird die Variable als binär angenommen.
Für "c" wird die Variable als kontinuierlich angenommen.
Für wird als Nebenbedingung definiert.
Für wird als Nebenbedingung definiert.
Für wird als Nebenbedingung definiert.
Insbesondere kann t als String der Länge oder aber als Array von Strings der Länge definiert werden (Beispiele siehe unten).
Falls das ganzzahlige Programm eine beschränkte Optimallösung besitzt, wird ein Array bestehend aus der Optimallösung sowie dem zugehörigen Zielfunktionswert ausgegeben. Anderenfalls wird ein entsprechender String zurückgegeben.
Beispiel 1
Das folgende Beispiel löst ein ganzzahliges Programm mit binären Variablen und gibt die Optimallösung sowie den zugehörigen Zielfunktionswert aus. Dabei wird t als String definiert. Vorschau aktualisieren
Beispiel 2
Das folgende Beispiel ist identisch zum Beispiel zuvor, wobei t nun als Array von Strings definiert wird. Vorschau aktualisieren
Beispiel 3
Das folgende Beispiel löst ein ganzzahliges Programm, wobei die Eingabedaten dem ExampleData-Paket entnommen werden. Anschließend wird die Optimallösung sowie der zugehörige Zielfunktionswert ausgegeben. Vorschau aktualisieren