INSTRUCTIONS
MATLAB
Cas Linéaire : Saisir les données du problème :
f :les coefficients de votre fonction objective
A :la matrice des contraintes inégalités
b :le second membre inégalité
Aeq : la matrice des contraintes égalités
beq : Saisir le second membre égalité
lb :la borne inférieure et ub :la borne supérieure
Taper:
[x,fval,exitflag,output]=linprog(f,A,b,Aeq,beq,lb,ub)
exitflag : L’indicateur de convergence doit etre égal à +1.
Output: Les informations sur l’algorithme utilisé
NB :
Ø Pour les variables entières, on utilise la fonction prédéfinie sous Matlab « Intlinprog »
Ø Dans le cas particulier des variables binaires, on utilise la fonction « bintprog »
Cas Non linéaire
Saisir votre fonction sur un fichier f.m
function y = f(x)
Y= « taper l’expression de votre fonction »
End
Saisir les contraintes non linéaires [c,ceq] sur un fichier
nlc.m :
function [c,ceq]= nlc(x)
c= « taper l’expression des contraintes non linéaires
inégalités »
ceq=« taper l’expression des contraintes non linéaires
égalités »
end
3. Saisir la matrice si ca existe des contraintes linéaires
(A, Aeq) ainsi que les seconds membres ( b et beq).
4. Choisir un point de départ x0
5. Taper :
[x,fval,exitflag,output]= fmincon(‘f’,x0,A,b,Aeq,beq,lb,ub,’nlc’)
NB : Pour un problème non linéaire sans contrainte on utilise la fonction « fminunc »