Vous êtes sur la page 1sur 4

Université de Douala - Faculté de Genie Industriel

Année académique 2015-2016

Programmation linéaire avec Matlab

1 Forme classique du PL dans Matlab


Pi=n
M inZ = i=1 ai xi = f T X

 AX ≤ B
Aeq X = Beq
Lb ≤ X ≤ Lu

f est un vecteur colonne.


Lb est le vecteur qui est la borne inférieur: si X ≥ 0R2 , alors (Lb =vecteur
nul). Si X est sans signe, alors Lb = [].
Lb est le vecteur qui est la borne supérieur: Si X ≥ 0R2 , alors remplacer Lu
par [].

minZ ⇔ max(−Z).
AX ≥ B ⇔ (−A)X ≤ −B.

Commande
Entrer dans n’importer ordre: f, A, B, Aeq , Beq , Lb et Lu .

[X, fval , exitf lag] = linprog(f, A, B, Aeq , Beq , Lb , Lu )

”exitflag” indique un numero qui désigne: (i) s’il le PL a une solution


(numero 1), (ii) s’il n’a pas de solution (-2), (iii) et si le PL a une solu-
tion infinie (-3), (iv) nombre d’itérations de la machine est dépassée (0) (car
Matlab a fixé un nombre d’itérations max.

Cas particuliers
[] au cas où un argument n’existe pas et l’un de ses suivants existent.
Si à partir d’un rang les arguments suivants n’existent pas s’arrêter à ce rang.

2 Commande lorsque X est un vecteur de coor-


données binaire
Commande
[X, fval ] = bintprog(f, A, B, Aeq , Beq , Lb , Lu )

1
3 Problème de transbordement
Question
Déterminer la façon la plus économique de satisfaire les demandes d’un
certain nombre de clients à partir de stocks d’un produit unique qui sont
disponibles en certains points d’un réseau de distribution.

Hypothèse Chaque transport donnera lieu à des coûts qui dépendront


linéairement des quantités transportées.

Reformulation: Les clients sont localisés en certains sommets (som-


mets puits ou destinations) et leurs demandes (quantités qu’ils desirent re-
cevoir) sont matérialisés par des entiers naturels bi à chaque noeud.
Les stocks disponibles sont localisés en certains sommets (sommets source
ou origine) et sont matérialisés par des entiers négatifs bi à chaque noeud.
Les sommets tels que bi = 0 sont des sommets intermédiaires.

R = (X, U, C, B) un réseau: X l’ensemble des sommets ou noeuds, U


l’ensemble des arcs, C l’ensemble des coûts de transport unitaires sur chaque
arc et B est la collections des bi .

Hypothèses La somme des demandes est égale à la somme des stocks


disponibles.
Transport d’un seul type de produit.
Les unités transportées sont interchangeables.

Exemple 1.
Modélisation:
Variables de décision: Soit xij le réel positif representant la quantité circu-
lant (flux) sur l’arc (i, j).
Contraintes ou Equations de conservation aux sommets: En tout sommet,
la somme des flux qui arrivent otée de la somme des flux qui partent est
égale bi. Plus formellement, nous avons:
X X
∀j ∈ X, xij − xjk = bj .
i∈P (j) k∈S(j)

P
Fonction objectif: Z = (i,j)∈U cij xij
= cx.

P Ax = b
Nous avons le système suivant: M inZ = (i,j)∈U cij xij = cx S/C
x≥0
où A est la matrice d’incidence sommet-arc (les arcs étant numérotes dans
l’ordre chronologique des indices de leurs extrémités).

2
Méthodes de résolution: (i) Méthode du simplexe dans les réseaux et (ii)
Utilisation de Matlab.

4 Etude d’un cas particulier: Problème de trans-


port
Définition 1. Un problème de transport est un problème de transbordement
présentant les deux particularités suivantes:

1. Il n’y’a pas de sommets intermédiaires

2. chaque sommet source i (origine) est relié à chaque sommet puit j


(destinations) par un arc (i, j).

Changements les notations ai est le réel strictement positif disponible


à l’origine i et bj est le réel strictement positif demandée à la destination j.

Formulation: m est le nombre de sources et n est le nombre de desti-


nations. P P
Nous avons le système suivant: M inZ = 1≤i≤m 1≤j≤n cij xij = cx
S/C  P
 P1≤j≤n xij = ai
1≤i≤m xij = bj .
∀(i, j) ∈ {1, ..., m} × {1, ..., n}, xij ≥ 0

5 Etude d’un cas spécial d’un problème de trans-


bordement: Flot de valeur maximale
Question
Soit R = (X, U, C) un réseau comportant exactement un sommet source s
et un sommet puits t, chaque arc (i, j) a une capacité c(i, j) ∈ N. Nous cher-
chons à transporter de s à t à travers un réseau une quantité de marchandises
aussi grande que possible, en tenant compte du fait que dans chaque arc (i, j)
la quantité de marchandises xij qui y circule doit satisfaire 0 ≤ xij ≤ c(i, j).
Hypothèse: Dans les problèmes de flots, il n’existe pas deux arcs de même
orientation entre deux sommets.
Formulation: Soit v la quantité cherchée
Nous avons le système suivant: M ax v S/C
 P P

 i∈P (j) xij − k∈S(j) xjk = −v if j = s
 P P
 x − x = −v if j 6∈ {s, t}
Pi∈P (j) ij Pk∈S(j) jk .

 i∈P (j) x ij − k∈S(j) xjk = v if j = t

 ∀(i, j) ∈ U, 0 ≤ x ≤ c(i, j)
ij

3
  

 1


  0 
  

  . 
Ax +  v = 0
 
D’où la formulation matricielle suivante: M axv S/C  . 

. 

 


−1




0≤x≤c

où A est la matrice d’incidence sommet-arc (les arcs étant numérotes dans
l’ordre chronologique des indices de leurs extrémités).

Vous aimerez peut-être aussi