Bonjour,
je cherche actuellement à résoudre un problème de dimensionnement et de placement de composants:
Admettons que l'on travail sur une aile d'avion et que je cherche à positionner le centre de gravité des éléments constituant l'aile à des endroits précis suivant la position du centre de gravité de l'ensemble.
Supposons donc qu'on possède :
- l'aile
- 2 réacteurs
- 2 mécanismes entrainant les volets
- le fuselage de l'avions
chacun de ces éléments a naturellement son poids propre et son centre de gravité.
le fait est que :
- utiliser le centre de gravité global résultant pour déterminer la position des autres, revient à résoudre un système sous dimensionné, où j'ai plus d'inconnues que d'équations. Mais peu importe :
sous forme matricielle le problème se résous en : a X = b
soit X = pinv(a)*b
- a étant une matrice rectangulaire contenant le poids des différents éléments
- b la position du centre de gravité désiré
- X la matrice contenant les coordonnées spatiales des centre de gravité de chacun des éléments
j'obtiens donc une solution. Super ! mais c'est pas pertinent, car effectivement les éléments se placent n'importe comment. J'aimerai donc concevoir un algorithme de recherche qui suit un certain nombre de règles en vu de fournir un résultat plus cohérent.
admettons donc :
- que les deux réacteurs doivent être positionnés de manière symétrique
- que le fuselage doit être sur l'axe de symétrie
- que le mécanisme de contrôle des volets ne doit pas être trop près des réacteurs
etc...
et que l'équilibre globale (somme des moments = 0) trouvé soit stable (afin qu'une légère erreur de positionnement, n'entraine pas l'instabilité de l'ensemble) --> dérivé de l'énergie potentiel < 0 si mes souvenirs sont bon ?!
je cherche donc un moyen de résoudre ce problème. J'aimerai bien évidement que l'on puisse généraliser au maximum l'algorithme de sorte d'avoir un ensemble de règles et que l'algorithme itère successivement des solutions possibles et les soumet aux règles. Une fois que tous les critères sont respectés l'algo s’arrête et présente la solution.
Je nécessite donc votre aide pour :
- m'aider à formuler un algorithme de satisfaction de contraintes.
- à m'orienter vers des cours/articles/thèses traitant du sujet.
- implémenter ça et le partager avec l'ensemble de planète
Je balbutie sous Python / octave / matlab mais j'aspire à m'améliorer donc si vous êtes partant avec moi pour résoudre le problème, allons-y !
merci d'avance
Bonne journée
CrH
-----