Convertit une table de données CAS à deux colonnes, qui représente un fichier au format MPS, en une table de données CAS au format MPS à sept colonnes. Ce format structuré est ensuite directement utilisable par les solveurs d'optimisation comme `solveLp` ou `solveMilp`.
| Paramètre | Description |
|---|---|
| casOut | Spécifie la table de sortie à créer. Cette table contiendra les données au format MPS à sept colonnes. |
| data | Spécifie la table d'entrée contenant les données du fichier MPS, généralement sur deux colonnes. |
| format | Indique si le format du fichier d'entrée est `FIXED` (format fixe) ou `FREE` (format libre). La valeur par défaut est `FREE`. |
| maxLength | Définit la longueur maximale autorisée pour les noms de variables et de contraintes. La valeur par défaut est 8. |
Ce bloc de code crée une table CAS nommée `mpsfile`. Chaque ligne représente une ligne d'un fichier MPS, contenant des informations sur un problème d'optimisation linéaire simple. Cette table sera utilisée comme entrée pour l'action `convertMps`.
| 1 | DATA mpsfile; |
| 2 | INFILE DATALINES; |
| 3 | INPUT field1 $ field2 $; |
| 4 | DATALINES; |
| 5 | NAME example |
| 6 | ROWS |
| 7 | N COST |
| 8 | L C1 |
| 9 | G C2 |
| 10 | E C3 |
| 11 | COLUMNS |
| 12 | X1 COST 1 C1 1 |
| 13 | X1 C2 1 |
| 14 | X2 COST 1 C1 2 |
| 15 | X2 C3 1 |
| 16 | X3 COST 1 C2 1 |
| 17 | X3 C3 1 |
| 18 | RHS |
| 19 | RHS1 C1 10 |
| 20 | RHS1 C2 10 |
| 21 | RHS1 C3 4 |
| 22 | ENDATA |
| 23 | ; |
| 24 | RUN; |
| 25 | |
| 26 | PROC CASUTIL; |
| 27 | load DATA=mpsfile outcaslib='casuser' casout='mpsfile' replace; |
| 28 | QUIT; |
Cet exemple de base convertit la table `mpsfile` (qui est au format libre par défaut) en une table au format MPS standard nommée `mpscas`.
| 1 | PROC CAS; |
| 2 | optimization.convertMps / |
| 3 | DATA={name='mpsfile'} |
| 4 | casOut={name='mpscas', replace=true}; |
| 5 | RUN; |
| 6 | QUIT; |
Cet exemple illustre l'utilisation des paramètres `format` et `maxLength`. Il spécifie que les données d'entrée sont en format `FIXED` et que la longueur maximale des noms de variables ou de contraintes est de 10 caractères.
| 1 | PROC CAS; |
| 2 | optimization.convertMps / |
| 3 | DATA={name='mpsfile'} |
| 4 | FORMAT='FIXED' |
| 5 | maxLength=10 |
| 6 | casOut={name='mpscas_fixed', replace=true}; |
| 7 | RUN; |
| 8 | QUIT; |