salut
je cherche comment effectue un maillage de points verifiants
x+y+z=1 et x,y,z dans IR+
c'est donc l'intersection du plan dans R+^ 3 qui donne un beau triangle equilateral
En fait c'est pour optimiser sous contrainte le systeme
x+y+z=1
xy+yz+zx-2xyz
merci.
Bonsoir,
t'es sûre d'avoir besoin d'un maillage pour optimiser? Si ce n'est pour restreindre l'espace de recherche (et donc s'éloigner de l'optimal), je vois pas à quoi ça peut servir.
D'habitude on emploi plutôt une descente de gradient que tu peux projeter dans l'espace des contraintes (en général un simplex), ou mieux faire de la relaxation lagrangienne pour transformer des contraintes en variables.
salut
oui je connais bien les methodes que tu cites mais ici c'est beaucoup trop lourd.
ici on prefera simplement utiliser l'inégalité de Schur, ou l'etude des diff avec l'IAG.
tu dis s'eloigner de l'optimal je ne vois vraiment pas pourquoi tu dis ca.
ici les contrainte x,y,z > 0 et x+y+z=1 c'est en fait le triangle de sommet (1,0,0) (0,1,0) (0,0,1)
je voudrais juste mailler cette surface avec matlab afin de d'evaluer en chaque point f(x,y,z) voila voila
tu veux donc calculer un truc du genre
valeurs de f, vu que c'est un triangle ton espace de recherche, (sans même être sur que parmis les points de ce maillage tu ai un arg max de f)
pour avoir une précision disons donnée il te faut en moyenne n=O(log 1/
) itérations.
pour 5 iteration tu auras calculé 125 valeurs de f, ce qui n'est pas très recommandé comme performance.
Dans le meme temps, avec une descente gradient (quasi newton ou autre) qui converge a peu pres dans le même nombre d'iteration tu n'auras fait que O(n) calcul de f et de ses derivés.
y'a pas foto
le arg max je le connais et tu admettra que pour programmer sous matlab mon idée est bien plus simple ..
Ben justement non, pour deux raisons essentiellement :
- il y a déjà des fonctions implémenté dans mathlab ou scilab pour faire de l'optimisation (optim sous scilab je ne connais pas l'équivalent mathlab mais ça doit pas etre loin), en plus dans ton cas tu peux facilement expliciter le gradient pour accélérer la recherche (ça lui évite de l'approximer avec du RK ou de l'interpolation)
- c'est loin d'être plus simple, la preuve en ai que tu n'arrive même pas à paver le triangle.
ceci dit pour la methode utilise linspace pour sibdiviser le carre, puis tu le transforme (matrice dans R3) en parallelogramme et tu coupe ce dernier pour avoir ton triangle
il y a un seul avantage à faire le calcul sur le maillage complet, si tu veux représenter graphiquement (du style avec des couleurs) f sur ce triangle.
bon courrage
mais oublie un peu tes techniques d'optimisation sous contraintes classiques !
je voulais juste savoir comment mailler un triangle, pour l'optimisation ca prend 3 lignes pourvue que l'on connaissance qq inegalités ..
l'argument tu ne sais pas paver le triangle alors ce n'est pas si simple ca ne veut rien dire enfin bon, merci pour le linespace
Vous devez être membre accéder à ce service...
Pas encore inscrit ?
1 compte par personne, multi-compte interdit !
Ou identifiez-vous :