optimization

loadMps

Description

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.

optimization.loadMps / casOut={...}, format='FIXED' | 'FREE', maxLength=integer, mpsFileString='string';
Paramètres
ParamètreDescription
casOutSpécifie la table de données de sortie qui sera au format MPS et pourra être transmise aux solveurs.
formatSpécifie si le contenu du paramètre mpsFileString est au format fixe (FIXED) ou libre (FREE).
maxLengthSpécifie la longueur maximale du nom d'une variable ou d'une contrainte.
mpsFileStringSpécifie la chaîne de caractères qui contient l'intégralité du contenu d'un fichier au format MPS.
Préparation des Données Voir la fiche de ce code dataprep
Création d'une chaîne de caractères 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.

Copié !
1PROC CAS;
2 mps_string = "
3NAME PROBLEM
4ROWS
5 N COST
6 L LIM1
7 G LIM2
8 E MYEQN
9COLUMNS
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
16RHS
17 RHS1 LIM1 10 LIM2 -2
18 RHS1 MYEQN 0
19ENDATA
20";
21RUN;

Exemples

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

Code SAS® / CAS Code en attente de validation par la communauté
Copié !
1 
2PROC CAS;
3optimization.loadMps / casOut={name='mps_problem_data', replace=true} mpsFileString=mps_string;
4 
5RUN;
6 
Résultat :
L'action charge la chaîne MPS dans la table CAS 'mps_problem_data' dans la caslib active. La table contient les données du problème d'optimisation prêtes à être utilisées par un solveur comme `solveLp`.

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

Code SAS® / CAS Code en attente de validation par la communauté
Copié !
1 
2PROC CAS;
3optimization.loadMps / casOut={caslib='casuser', name='mps_free_format', replace=true} FORMAT='FREE' maxLength=32 mpsFileString=mps_string;
4 
5RUN;
6 
Résultat :
Une table CAS nommée 'mps_free_format' est créée dans la caslib 'casuser'. Elle contient les données du problème d'optimisation lues à partir de la chaîne de caractères `mps_string` en utilisant les règles du format libre MPS. Les noms de variables et de contraintes peuvent aller jusqu'à 32 caractères.

FAQ

Quel est le but de l'action `loadMps` ?
À quoi sert le paramètre `casOut` ?
Quels sont les formats de données d'entrée possibles pour `loadMps` ?
Que spécifie le paramètre `maxLength` ?
Comment fournir les données au format MPS à l'action `loadMps` ?