optimization

convertMps

Description

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`.

optimization.convertMps result=<results> status=<rc> / casOut={casouttable}, data={castable}, format="FIXED" | "FREE", maxLength=integer;
Paramètres
ParamètreDescription
casOutSpécifie la table de sortie à créer. Cette table contiendra les données au format MPS à sept colonnes.
dataSpécifie la table d'entrée contenant les données du fichier MPS, généralement sur deux colonnes.
formatIndique si le format du fichier d'entrée est `FIXED` (format fixe) ou `FREE` (format libre). La valeur par défaut est `FREE`.
maxLengthDéfinit la longueur maximale autorisée pour les noms de variables et de contraintes. La valeur par défaut est 8.
Préparation des Données Voir la fiche de ce code dataprep
Création des données d'entrée

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`.

Copié !
1DATA mpsfile;
2 INFILE DATALINES;
3 INPUT field1 $ field2 $;
4 DATALINES;
5NAME example
6ROWS
7 N COST
8 L C1
9 G C2
10 E C3
11COLUMNS
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
18RHS
19 RHS1 C1 10
20 RHS1 C2 10
21 RHS1 C3 4
22ENDATA
23;
24RUN;
25 
26PROC CASUTIL;
27 load DATA=mpsfile outcaslib='casuser' casout='mpsfile' replace;
28QUIT;

Exemples

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`.

Code SAS® / CAS Code en attente de validation par la communauté
Copié !
1PROC CAS;
2 optimization.convertMps /
3 DATA={name='mpsfile'}
4 casOut={name='mpscas', replace=true};
5RUN;
6QUIT;
Résultat :
L'action crée une nouvelle table CAS nommée `mpscas` dans la caslib de l'utilisateur. Cette table est structurée avec sept colonnes (`_ID_`, `_FIELD1_`, `_FIELD2_`, `_FIELD3_`, `_FIELD4_`, `_FIELD5_`, `_FIELD6_`) et contient les données du problème prêtes à être utilisées par un solveur d'optimisation.

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.

Code SAS® / CAS Code en attente de validation par la communauté
Copié !
1PROC CAS;
2 optimization.convertMps /
3 DATA={name='mpsfile'}
4 FORMAT='FIXED'
5 maxLength=10
6 casOut={name='mpscas_fixed', replace=true};
7RUN;
8QUIT;
Résultat :
Une table CAS nommée `mpscas_fixed` est générée. La conversion a été effectuée en interprétant les données d'entrée selon un format fixe. Les noms de variables et de contraintes de plus de 10 caractères auraient été tronqués.

FAQ

Quel est l'objectif principal de l'action `convertMps` ?
Quel type de table de données l'action `convertMps` attend-elle en entrée ?
Comment spécifier si le format des données d'entrée est fixe ou libre ?
Peut-on limiter la longueur des noms de variables et de contraintes lors de la conversion ?
Quelle est la fonction du paramètre `casOut` dans cette action ?