optimization convertMps

Optimisation des Coûts de Transport - Format Libre

Scénario de test & Cas d'usage

Contexte Métier

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érationnelle sous forme de fichier MPS standard (format libre). Le but est de préparer ces données pour le solveur d'optimisation SAS.
Préparation des Données

Création d'une table représentant un problème de minimisation simple (Fonction objectif COST, contraintes de capacité CAPA1 et CAPA2).

Copié !
1DATA casuser.mps_logistique; INPUT field1 $ field2 $; DATALINES;
2NAME TRANSPORT
3ROWS
4 N COST
5 L CAPA1
6 L CAPA2
7COLUMNS
8 . .
9 TRUCK1 COST 2 CAPA1 1
10 TRUCK1 CAPA2 0.5
11 TRUCK2 COST 3 CAPA1 0.5
12 TRUCK2 CAPA2 1
13RHS
14 . .
15 RHS1 CAPA1 100
16 RHS1 CAPA2 80
17ENDATA
18 .
19; RUN;

Étapes de réalisation

1
Chargement des données brutes en mémoire CAS (si non fait par le data step directement)
Copié !
1 
2PROC CASUTIL;
3load
4DATA=casuser.mps_logistique casout='mps_logistique' outcaslib='casuser' replace;
5 
6QUIT;
7 
2
Conversion du format MPS brut (2 colonnes) vers le format structuré (7 colonnes) en utilisant le format libre par défaut.
Copié !
1 
2PROC CAS;
3optimization.convertMps /
4DATA={name='mps_logistique'} casOut={name='mps_ready_to_solve', replace=true} FORMAT='FREE';
5 
6RUN;
7 
8QUIT;
9 

Résultat Attendu


La table 'mps_ready_to_solve' est créée avec succès dans la bibliothèque CASUSER. Elle contient 7 colonnes (_ID_, _FIELD1_ à _FIELD6_) et les données sont correctement parsées pour être consommées par solveLp.