IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Intelligence artificielle Discussion :

aide sur les Algorithmes Génétiques


Sujet :

Intelligence artificielle

  1. #1
    Candidat au Club
    Inscrit en
    Juin 2008
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 5
    Points : 4
    Points
    4
    Par défaut aide sur les Algorithmes Génétiques
    bonjour;

    Je suis amine, étudiant en maitrise en sciences appliquées
    je travail actuellement sur l'optimisation d'énergie dans un véhicule à pile à combustible épaulée par une batterie. J'ai formulé le problème, et j'essaye de l'implémenter sur l'algorithme génétique en utilisant matlab. Mon problème est que l'algorithme ne me satisfait pas les contraintes non-linéaires.
    merci d'avance
    salutations

    amine

  2. #2
    Membre éclairé

    Inscrit en
    Juin 2004
    Messages
    1 397
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 1 397
    Points : 763
    Points
    763
    Par défaut
    Salut !

    Ah là là, encore une question mal formulée...

    Si tu nous disais quel problème tu as précisément ?
    Aucune réponse à une question technique par MP.
    Ce qui vous pose problème peut poser problème à un(e) autre

    http://thebrutace.labrute.fr

  3. #3
    Candidat au Club
    Inscrit en
    Juin 2008
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 5
    Points : 4
    Points
    4
    Par défaut
    En fait j’ai deux sources de puissance (une pile et une batterie) qui doivent satisfaire un profile de puissance donné.
    Mon objectif est de minimiser la consommation à partir de la pile (minimiser le courant de la pile Ifc) en maintenant la charge (soc) de la batterie entre deux bornes inf et sup (connues) durant un profile donne, en plus que la somme des puissances de ou vers la batterie Pb pour tout le profile demandé doit être égale à zéro.

    Voila l’algorithme d’optimisation :

    function y= fonction_objectif(x)

    Pdem=dlmread('C:\profiles de vitesse\pdemhw.txt'); %lecture du profile
    tf=length(Pdem);
    for i=1:tf-1

    y=y+(Mh2*Nst*x(i))/(2*F);
    end
    ********************************************

    function [c ceq]=contraintes(x)

    for i=1:tf-1
    Pbp(i)=Pdem(i)-(Nst*pile(x(i))*x(i));
    [Vbp(i) Ibp(i) T_batp(i+1) Rintp(i+1) T_extp(i+1) C_maxp(i+1) Pmaxp(i) Ibat_maxp(i) vocp(i+1)]=batterie(socp(i),T_batp(i),Pbp(i),T_extp(i));
    socp(i+1)=socp(i)-Ibp(i)/(C_maxp(i)*3600);


    c=[

    socp(i+1)-0.8;
    0.4-socp(i+1);

    Pbp(i)-Pmaxp(i);
    Ibat_maxp(i)-Ibp(i);



    ];



    ceq = [

    sum(Pbp)==0;
    Pbp(i)==Pdem(i)-(Nst*pile(x(i))*x(i));
    ];
    end


    quand j'appelle l'algo génétique de cette façon :

    ObjectiveFunction = @fonction_objectif;

    nvars = tf-1;% Number of variables
    LB(1:tf-1)=5;
    UB(1:tf-1)=150;
    options = gaoptimset('MutationFcn',@mutationadaptfeasible,'PopulationSize',150);

    [x,fval] = ga(ObjectiveFunction,nvars,[],[],[],[],LB,UB,...
    ConstraintFunction,options);
    j'obtiens toujour x(1:tf-1)= 5 sans satifaisant les contraintes non-lineaire

  4. #4
    Inactif  
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    1 958
    Détails du profil
    Informations personnelles :
    Âge : 58
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 1 958
    Points : 2 467
    Points
    2 467
    Par défaut
    Avant de donner du code, tu dois donner les algorithmes, c'est-à-dire la conception, de ton problème.

    Si celui-ci est correct alors c'est que ton erreur vient du code. Et dans ce cas c'est le forum Matlab et non Algo qui est pertinent. Si ton algo a une erreur, ça ne sert à rien de le coder.

    Donc : quelle est ta conception détaillée svp ?

  5. #5
    Candidat au Club
    Inscrit en
    Juin 2008
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 5
    Points : 4
    Points
    4
    Par défaut aides sur les AGs
    salut,

    le problème à optimiser est comme suite :

    on a 2 sources d'energie : une pile (source principale Pfc) et une batterie (source auxiliaire Pbat). les 2 sources doivent participer pour satisfaire la demande.
    la demande est une série de valeur formant un profile de puissance connue apriori.donc on a à chaque instant t:
    Pdem(t) = Pfc(t) + Pbat(t)
    l'objectif est de minimiser la quantité totale consommée a partir de la pile durant un profile de puissance donné. Cette quantité est calculée par :

    J(Ifc)=M.Nst.Ifc/2.F

    M,NST,F sont des constantes.

    en cherche à minimiser cette fonction tout en gardant la charge de la deuxieme sources(batterie) entre 2 bornes inf et sup en plus la somme des puissances de ou vers la batterie doit etre egale à zéro à la fin du profile + d'autre contrainte sur les limites de chaque grandeurs (courants max puissances max...).

    l'algorithme complet est comme suite :

    Objective:
    minimize(somme (J(Ifc))) i=1....length(profile)

    sujet à


    Pdem(t) = Pfc(t) + Pbat(t)

    SOC(t + 1)= SOC(t) -Ib/Cmax
    SOC(final) = SOC(start)
    SOC(t) < SOCmax
    SOC(t) > SOCmin
    Pfc(t)<Pfcmax
    Pfc(t)>Pfcmin
    Pbat(t)<Pbatmax
    Pbat(t)>Pbatmin

    donc si la longueur du profile demander est tf --> j'ai tf-1 variables
    je veux que l'algo génétique trouve la combinaison optimale entre mes variables qui minimise la dite quantité et qui satisfait mes contraintes

    si vous avez besoin plus de détails on peut les discuter.

    merci d'avance
    amine

  6. #6
    Alp
    Alp est déconnecté
    Expert éminent sénior

    Avatar de Alp
    Homme Profil pro
    Inscrit en
    Juin 2005
    Messages
    8 575
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juin 2005
    Messages : 8 575
    Points : 11 860
    Points
    11 860
    Par défaut
    A quel endroit précisément de la conception de tes algos génétiques rencontres-tu un problème ?

  7. #7
    Candidat au Club
    Inscrit en
    Juin 2008
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 5
    Points : 4
    Points
    4
    Par défaut GAs
    salut,

    le probleme c au niveau des contraintes, en fait l'algorithme ne satisfait aucune contrainte.

    merci

  8. #8
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Juin 2008
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2008
    Messages : 24
    Points : 10
    Points
    10
    Par défaut
    Citation Envoyé par amineyamane Voir le message
    salut,

    le probleme c au niveau des contraintes, en fait l'algorithme ne satisfait aucune contrainte.

    merci
    Ta fonction "fitness" prend-elle en compte toutes tes contraintes? normalement tu devrais faire une moyenne des indices de satisfaction de toutes les contraintes et classer tes individus selon la valeur de cette fonction, tu peux même rajouter des coefficients pour privilègier la satisfaction de certaines contraintes, ... parle nous un peu de ta fonction fitness!

  9. #9
    Candidat au Club
    Inscrit en
    Juin 2008
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 5
    Points : 4
    Points
    4
    Par défaut aide sur les AGs
    bonjours;
    Mon objectif est de minimiser une quantité proportionnelle à une variable:

    f=min(somme(constante*x))

    j'ai une suite des valeurs représentants des puissances demandées (Pdem), que je dois satisfaire l'une après l'autre.
    la langueur de x est égale aux nombres de puissances demandée.

    la minimisation de la fonction f doit respecter les contraintes suivantes :

    pour i de 1 à nbpuissances

    soc(x(i))<0.8
    soc(x(i))>0.4
    Pdem(i)=V*x(i)+Pb(i)
    fin

    somme(Pb)=0

    merci
    amine

Discussions similaires

  1. Question sur les algorithmes génétiques
    Par TristanL dans le forum Intelligence artificielle
    Réponses: 4
    Dernier message: 14/05/2011, 22h04
  2. Aide sur les algorithmes genetique
    Par Djilou_15 dans le forum Algorithmes et structures de données
    Réponses: 4
    Dernier message: 22/01/2010, 17h44
  3. Conférence sur les algorithmes génétiques
    Par deadalnix dans le forum Intelligence artificielle
    Réponses: 2
    Dernier message: 22/12/2009, 18h11
  4. Questions sur les algorithmes génétiques
    Par ziad.shady dans le forum Algorithmes et structures de données
    Réponses: 2
    Dernier message: 03/01/2009, 22h14
  5. Les algorithmes génétiques
    Par khayyam90 dans le forum Algorithmes et structures de données
    Réponses: 0
    Dernier message: 11/12/2008, 14h21

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo