TP2 Opt Leulmi

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 6

Département E.E.

A – Filière Automatique

4ème année Automatique – Semestre 2

TRAVAUX PRATIQUE – Optimisation et Recherche Opérationnel

Méthode de bissection

Réalisé par: Leulmi Mohammed Islam


Le 30/05/2019

Encadré par :
Pr. Samir Ladaci

Année universitaire 2018/2019


1. Problème :

On considère le cas simple de la fonction objectif comportant


une seule variable
- On suppose que f est concave
- On peut montrer alors que, si x* est une solution optimale, il
existe a et b tels que a ≤ x* ≤ b et :

f(x) 𝑑𝑓(𝑥)
=0
𝑑𝑓(𝑥) 𝑑𝑥
>0 𝑠𝑖 𝑥<𝑎
𝑑𝑥
𝑑𝑓(𝑥)
=0 𝑠𝑖 𝑥=𝑥∗
𝑑𝑥
𝑑𝑓(𝑥)
<0 𝑠𝑖 𝑥>𝑎
𝑑𝑥 x

Nous voulons résoudre le système :

𝑓 (𝑥 ) = 12 − 3𝑥 4 − 2𝑥 6
par la méthode de bisection

1
2. L’organigramme représentant des différentes
étapes de résolutions de ce problème :

2
3. programme demandé :

clear all;close all;clc

%Ces instructions permets au utilisateur d'enter les données


de problème___________________

% La fonction
syms f(x)
f(x)=input('Entrez la fonction en fonction de x\n');

% Sa dérivée
syms df(x)
df(x)=input('Entrez sa dérivée en fonction de x\n');

epsilon=input('Entrez epsilon\n');% epsilon pour le test


d'arret

%les bornes superieures et inférieure


xi=input('Entrez la borne inférieure tel que la dérivé en ce
point est >0\n');
xs=input('Entrez la borne supérrieure tel que la dérivé en ce
point est <0\n');

%nombre d''itérations maximal


itmax=input('Entrez le nombre d''itérations maximal\n');

it=0; %initialisation de nombre d'itération

% Programme________________________________________________

while abs(xs-xi)>epsilon && it<itmax %Test d'arret

xc=(xi+xs)/2; %Calcule de centre

if df(xc)<=0
xs=xc;
else
xi=xc;
end

it=it+1;
end

3
% Affichage des resultats:
disp('______________________________________________')
disp('La valeur de x qui donne le max est')
disp(xc)
disp('La valeur max de la fonction est')
disp(double(f(xc)))
disp('Le nombre itération necessaire pour la convergence
est')
disp(it)
disp('______________________________________________')

4. exemple d’exécution :

Exemple1 : la fonction donnée :

𝑓 (𝑥 ) = 12 − 3𝑥 4 − 2𝑥 6

4
Exemple 3 : une fonction proposée :

1
𝑓(𝑥) = − 𝑥 3 − 49𝑥
3

Vous aimerez peut-être aussi