Lädt eine Zeichenfolge, die eine mathematische Programmieraufgabe im MPS-Format (Mathematical Programming System) enthält, in eine CAS-Datentabelle. Diese Tabelle kann dann von anderen Optimierungsaktionen wie `solveLp` oder `solveMilp` verwendet werden, um das Problem zu lösen. Das MPS-Format ist ein Standardformat für die Darstellung von linearen und gemischt-ganzzahligen Programmierproblemen.
| Parameter | Beschreibung |
|---|---|
| casOut | Gibt die Ausgabedatentabelle an, die im MPS-Format vorliegt und an die Solver übergeben werden kann. |
| format | Gibt an, ob der Inhalt des Parameters `mpsFileString` im festen (FIXED) oder freien (FREE) Format vorliegt. |
| maxLength | Gibt die maximale Länge des Variablen- oder Constraint-Namens an. Der Standardwert ist 8. |
| mpsFileString | Gibt die Zeichenfolge an, die den gesamten Inhalt einer .mps-Datei enthält. |
Dieser Code erstellt eine SAS-Makrovariable, die eine einfache lineare Programmierungsaufgabe im MPS-Format enthält. Diese Zeichenfolge wird dann verwendet, um die Aktion `loadMps` aufzurufen.
| 1 | %let mps_string = %str(NAME PROB1 |
| 2 | ROWS |
| 3 | N COST |
| 4 | L R1 |
| 5 | G R2 |
| 6 | COLUMNS |
| 7 | X1 COST 1 R1 1 |
| 8 | X1 R2 1 |
| 9 | X2 COST 2 R1 1 |
| 10 | X2 R2 -1 |
| 11 | X3 COST -1 R1 -2 |
| 12 | X3 R2 1 |
| 13 | RHS |
| 14 | RHS1 R1 5 |
| 15 | RHS1 R2 0 |
| 16 | ENDATA |
| 17 | ); |
Dieses Beispiel zeigt, wie man einen einfachen MPS-String im festen Format (Standard) lädt und eine CAS-Tabelle erstellt.
| 1 | PROC CAS; |
| 2 | optimization.loadMps / |
| 3 | mpsFileString="&mps_string." |
| 4 | casOut={name='mps_data_table', replace=true}; |
| 5 | RUN; |
Dieses Beispiel zeigt, wie man einen MPS-String im freien Format lädt, wobei eine maximale Länge für Variablennamen von 32 Zeichen angegeben wird. Dies ist nützlich für Probleme mit beschreibenden Variablennamen.
| 1 | %let mps_string_free = %str(NAME example_free |
| 2 | ROWS |
| 3 | N OBJECTIVE |
| 4 | L CONSTRAINT_ONE |
| 5 | G CONSTRAINT_TWO |
| 6 | COLUMNS |
| 7 | VERY_LONG_VARIABLE_NAME_1 OBJECTIVE 1.5 CONSTRAINT_ONE 1 |
| 8 | VERY_LONG_VARIABLE_NAME_1 CONSTRAINT_TWO 1 |
| 9 | VERY_LONG_VARIABLE_NAME_2 OBJECTIVE 2.5 CONSTRAINT_ONE 1 |
| 10 | VERY_LONG_VARIABLE_NAME_2 CONSTRAINT_TWO -1 |
| 11 | RHS |
| 12 | RHS_VECTOR CONSTRAINT_ONE 15 |
| 13 | RHS_VECTOR CONSTRAINT_TWO -3 |
| 14 | ENDATA |
| 15 | ); |
| 16 | PROC CAS; |
| 17 | optimization.loadMps / |
| 18 | mpsFileString="&mps_string_free." |
| 19 | FORMAT="FREE" |
| 20 | maxLength=32 |
| 21 | casOut={name='mps_data_table_free', replace=true}; |
| 22 | RUN; |