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; |
Une entreprise de logistique souhaite minimiser ses coûts de transport entre deux entrepôts et trois clients. Le modèle mathématique est fourni par l'équipe de recherche opérati...
Une banque d'investissement utilise des modèles de portfolio où les noms de variables correspondent à des produits financiers complexes (ex: 'OBLIGATION_ETAT_2025_FR'). Ces noms...
Une usine utilise un vieux système ERP qui exporte les données de production au format MPS 'Fixe' (colonnes alignées strictement). Nous devons vérifier que l'action interprète c...