optimisation "help please! "
je veux faire une optimisation sous R :
voila mon modèle d'optimisation :
min maFonction(nk) avec k = 1:N
sous contraintes:
- xk=somme(nj) avc k=k+1 : N
- X=somme(nk) avc k=1:N
- n1,.....,nN>=0
mon objectif est de déterminer les nk qui minimisent maFonction
J'ai essayé la fonction constrOptim() mais je n'ai pas réussi à introduire la 1er contraite ??? avez vous une idée comment résoudre ce genre de problème d'optimisation sous R?
Est ce que j'ai bien choisi la commande ou il y a d'autres plus utiles???
voila un exemple sous R de l'utilisation de la commande constrOptim :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| ### exemple
# fr notre fonction à minimiser
fr <- function(x) {
x1 <- x[1]
x2 <- x[2]
100 * (x2 - x1 * x1)^2 + (1 - x1)^2
}
# 1er contrainte (x<=0.9) ,on va l'ecrire sous cette forme : (-x =>-0.9)
# la 2eme contrainte (y-x > 0.1) , on la carde selon cette ecriture
#optimisation
initial<- c(-1.2,0.9)
constrOptim(initial, fr,NULL, ui=rbind(c(-1,0),c(-1,1)), ci=c(-0.9,0.1))
#avec initial :est l'initialisation
#fr : notre fonction à minimiser
#NULL : on l'ecrit si on veux pas calculer le gradient
# ui : ces un matrice des coff des paramètres
# [,1] [,2]
# [1,] -1 0
# [2,] -1 1
# ci: vecteur des contrain
# [1] -0.9 0.1
# le commande constrOptim exige que la valeur initial qu'on choisi doir vérifier (ui%*%initial => ci) |
Merci pour votre aide ;)