2017-01-31 3 views
0

J'ai une question concernant le solveur quadprog.Est-il possible d'inclure les solutions précédentes d'un solveur quadprog dans les contraintes pour les valeurs de solution ultérieures?

J'ai mis en place un problème d'optimisation avec 96 valeurs à optimiser et 4 contraintes qui fonctionnent bien.

Maintenant, je voudrais faire une optimisation un peu plus sophistiquée. Les valeurs à optimiser dépendent de leur prédécesseur direct. Question: Existe-t-il un moyen de faire référence aux solutions précédentes directes dans le vecteur de contraintes bvec (vecteur contenant les valeurs de b_0)? De plus: Est-il possible d'utiliser des fonctions conditionnelles comme contraintes dans le vecteur de contraintes bvec?

J'espère que mes questions sont claires. Sinon, faites le moi savoir et je vais essayer d'expliquer plus clairement.

Merci d'avance!

Tilman

Répondre

1

Est-il possible de se référer à diriger des solutions précédentes dans le vecteur contrainte BVEC (vecteur contenant les valeurs de b_0)?

Je crois que vous dire:

1. solve min 0.5d'Qd-d'b subject to A'b>=b0 
2. form new b0 using optimal solution values d 
3. solve min 0.5d'Qd-d'b subject to A'b>=b0 

Ce problème est pas bien sûr.

Est-il possible d'utiliser des fonctions conditionnelles comme contraintes dans le vecteur de contraintes bvec?

Pas vraiment: le vecteur bvec (ou b0) sont des constantes. Notez également que toutes les contraintes doivent être linéaires dans quadprog, donc aucune fonction n'est autorisée du tout. Les contraintes doivent avoir la forme A'b>=b0 (certaines d'entre elles peuvent être des égalités).

+0

Pour la première question, ce n'est pas exactement ce que je voulais savoir. Permettez-moi d'être plus clair en vous donnant un exemple: Si par exemple je veux résoudre un problème d'optimisation avec 96 solutions consécutives (car j'optimise un volume de production pour chaque quart d'heure d'une journée). Existe-t-il un moyen d'utiliser la valeur de la cinquième solution comme contrainte pour la sixième solution dans le solveur quadprog? Pour la deuxième question, votre réponse a été plus qu'utile! Merci pour votre soutien! –

+0

Dans de nombreux modèles, nous utilisons des constructions comme 'x (t) = x (t-1) + ....'. Les équations d'équilibre des stocks sont un bon exemple: 'inventaire (t) = inventaire (t-1) + production (t) -ventes (t)'. –

+0

Cela peut-il être implémenté comme une contrainte dans un solveur facilement? –