%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%                                                                           %
%  MONITEUR D'ENCHAINEMENT POUR LE CALCUL DE L'EQUILIBRE D'UN RESEAU D'EAU  %
%                                                                           %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 

% -------------------
% Donnees du probleme
% -------------------

Probleme_R;
Structures_R;
    
global  n m mr md orig dest absn ordn r pr fd ;
global A Ar Ad AdT AdI AdC B q0;

% ------------------------------
% Initialisation de l'algorithme
% ------------------------------

% La dimension n-md est celle du probleme primal
%
% xini = 0.1 * rand(n-md,1);
%
% ---> A modifier si l'on traite le probleme dual

% ----------------------------
% Minimisation proprement dite
% ----------------------------

% Exemple 1 - le gradient a pas fixe "Gradient_F"
% [fopt,xopt,gopt] = Gradient_F(@OraclePG,xini);
%
% Exemple 2 - le gradient a pas variable "Gradient_V"
% [fopt,xopt,gopt] = Gradient_V(@OraclePG,xini);
%
% -----> A completer pour incorporer d'autres algorithmes

% --------------------------
% Verification des resultats
% --------------------------

% [q,z,f,p] = HydrauliqueP(xopt);
% Verification(q,z,f,p);
%
% ---> Utiliser HydrauliqueD pour le problème dual
