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

MATLAB Discussion :

Algorithme Optimisation Control Command [Débutant]


Sujet :

MATLAB

  1. #1
    Membre à l'essai Avatar de neodole
    Homme Profil pro
    Ingénieur après-vente
    Inscrit en
    Avril 2012
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur après-vente
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2012
    Messages : 32
    Points : 21
    Points
    21
    Par défaut Algorithme Optimisation Control Command
    Bonjour à tous,

    Je travaille actuellement sur une loi de commande permettant l'asservissement d'un système mécanique. Je fais ce que l'on appelle du "loop shaping". Je façonne la boucle ouverte de mon système en y imposant un certain nombre de critères sur les marges de robustesse. J'aimerai réalisé un algorithme d'optimisation sous Matlab me permettant de minimiser un critère J correspondant au maximum d'amplitude de la boucle fermée du système tout en garantissant une marge de phase minimale sur la boucle ouverte. J'ai la toolbox optimisation Matlab mais je constate qu'il y a énormément de fonction disponible telle que fmincon, que l'on m'a suggéré d'utiliser. N'aillant jamais fait d'optimisation en automatique auparavant, auriez-vous des suggestions pour me guider.

    Merci par avance
    Neodole

  2. #2
    Modérateur
    Avatar de le fab
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    1 882
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 882
    Points : 3 432
    Points
    3 432
    Par défaut
    salut

    il y a en effet plusieurs fonctions utilisables dont fmincon, qui fait une minimisation sous containte
    il y en a des plus simple (comme fminbnd ou fminunc) si tu as peu ou pas de contraintes

    mais la mécanique est la même dans tous les cas, il faut te créer une fonction "coût" à minimiser

    dans le cas de fmincon, cette fonction doit avoir pour prototype f(x) ou x est un vecteur contenant tous tes paramètres à optimiser
    bien évidement si tu as des paramètres "statiques" (cad pas à optimiser) tu peux utiliser la syntaxe des foncitons anonymes pour y parvenir (@(x) f(x,a,b) par exemple)

    la fonction coût doit retourner un nombre à minimiser, cad que la solution que tu recherche correspond à une petite valeur de ce nombre ... à priori J si je t'ai bien suivi

    Fabien

  3. #3
    Membre à l'essai Avatar de neodole
    Homme Profil pro
    Ingénieur après-vente
    Inscrit en
    Avril 2012
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur après-vente
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2012
    Messages : 32
    Points : 21
    Points
    21
    Par défaut
    Salut Fabien,

    Désolé mais je n'avais pas vu ta réponse depuis….donc merci. J'ai pas mal progressé sur l'optimisation avec Fmincon et j'ai une question sur les options. J'ai une fonction d'optimisation qui contient un vecteur avec 1 seule variable à optimiser et qui est un entier. Je n'arrive pas à trouver l'option de fmincon qui me permet de changer le pas entre chaque optimisation de x. As-tu une idée ?

    Merci par avance
    Neodole

  4. #4
    Modérateur
    Avatar de le fab
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    1 882
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 882
    Points : 3 432
    Points
    3 432
    Par défaut
    salut

    tu peux utiliser l'option typicalX pour cela
    si tu as la sensation que ton algo est "bloqué", j'ai déjà amélioré son comportement en mettant FiniteDifferenceType à 'central'
    n'hésites pas à utiliser les options display et plotfcn pour suivre en" temps réel" ton optimisation

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Algorithme] Optimiser l'espace entre des blocs
    Par bilaloch dans le forum Algorithmes et structures de données
    Réponses: 1
    Dernier message: 10/07/2014, 02h12
  2. Algorithme optimiser C++
    Par CliffeCSTL dans le forum Langage
    Réponses: 7
    Dernier message: 28/12/2013, 02h38
  3. Reconnaissance vocale, traitement du langage naturel et controle commande
    Par arnaud29360 dans le forum Intelligence artificielle
    Réponses: 2
    Dernier message: 19/10/2013, 11h54
  4. Recherche algorithme optimisation
    Par jlf205 dans le forum Algorithmes et structures de données
    Réponses: 6
    Dernier message: 12/07/2010, 09h56
  5. algorithme de controle
    Par gui-llaume dans le forum VBA Access
    Réponses: 2
    Dernier message: 22/10/2007, 16h10

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