Charge une chaîne de caractères au format de fichier MPS dans une table de données CAS. Cette table peut ensuite être utilisée par d'autres actions d'optimisation pour résoudre le problème mathématique qu'elle contient.
| Paramètre | Description |
|---|---|
| casOut | Spécifie la table de données de sortie qui sera au format MPS et pourra être transmise aux solveurs. |
| format | Spécifie si le contenu du paramètre mpsFileString est au format fixe (FIXED) ou libre (FREE). |
| maxLength | Spécifie la longueur maximale du nom d'une variable ou d'une contrainte. |
| mpsFileString | Spécifie la chaîne de caractères qui contient l'intégralité du contenu d'un fichier au format MPS. |
Le format MPS est un standard pour la description de problèmes de programmation linéaire. L'exemple ci-dessous définit un problème simple pour illustrer la structure. Ce problème vise à maximiser Z = X1 + 2*X2 + 3*X3 sous certaines contraintes.
| 1 | PROC CAS; |
| 2 | mps_string = " |
| 3 | NAME PROBLEM |
| 4 | ROWS |
| 5 | N COST |
| 6 | L LIM1 |
| 7 | G LIM2 |
| 8 | E MYEQN |
| 9 | COLUMNS |
| 10 | X1 COST 1 LIM1 1 |
| 11 | X1 LIM2 1 |
| 12 | X2 COST 2 LIM1 1 |
| 13 | X2 MYEQN -1 |
| 14 | X3 COST 3 LIM2 1 |
| 15 | X3 MYEQN 1 |
| 16 | RHS |
| 17 | RHS1 LIM1 10 LIM2 -2 |
| 18 | RHS1 MYEQN 0 |
| 19 | ENDATA |
| 20 | "; |
| 21 | RUN; |
Cet exemple illustre comment utiliser l'action `loadMps` pour charger une chaîne de caractères définissant un problème d'optimisation simple dans une table CAS nommée 'mps_problem_data'.
| 1 | |
| 2 | PROC CAS; |
| 3 | optimization.loadMps / casOut={name='mps_problem_data', replace=true} mpsFileString=mps_string; |
| 4 | |
| 5 | RUN; |
| 6 |
Cet exemple montre comment charger une chaîne MPS en utilisant le format 'FREE' et en spécifiant une longueur maximale de nom de 32 caractères. La table de sortie est explicitement nommée 'mps_free_format' et placée dans la caslib 'casuser'.
| 1 | |
| 2 | PROC CAS; |
| 3 | optimization.loadMps / casOut={caslib='casuser', name='mps_free_format', replace=true} FORMAT='FREE' maxLength=32 mpsFileString=mps_string; |
| 4 | |
| 5 | RUN; |
| 6 |