Est-il possible de trouver la solution la plus proche optimale pour un problème d'entier mixte? Par exemple, je voudrais que le problème simplifié ci-dessous:Mixte-Entier Solution optimale la plus proche dans Matlab
f = [1;1;1];
intcon = 1:3;
Aeq = [0.99,0.97,0.15];
beq = 0.16;
lb = zeros(3,1);
ub = [1;1;1];
x = intlinprog(f,intcon,[],[],Aeq,beq,lb,ub)
pour revenir x=[0;0;1]
comme cela est le plus proche solution entière à la valeur objective de 0.16
. Au lieu actuellement, il retourne
Intlinprog arrêté car aucun point satisfait aux contraintes.
Ne doit pas nécessairement exécuter intlinprog
. Idéalement, il devrait également fonctionner si beq
est faible, par exemple 0.14
.
Ne pas poster Ax = b comme une contrainte, mais de minimiser la norme objective (Ax b)/par exemple moindres carrés. Selon votre norme, il peut s'agir d'un programme linéaire mixte-entier ou autre chose (qp, socp, ...). – sascha
Merci. Ce serait aussi une option. Avez-vous un exemple d'application de MI à LS? – Mary
Pas pour matlab (comme je ne suis pas un utilisateur de matlab). intlinprog ne semble pas être un bon candidat ici (car l'objectif, en fonction de votre norme, pourrait être non linéaire, ce qui n'est pas supporté, mais [cet exemple] (https://de.mathworks.com/help/optim/ug/ mixed-integer-quadratic-programming-portfolio-optimization.html) parle d'approches de linéarisation: MIQP n'est pas aussi populaire que MI et il n'y a pas beaucoup de solveurs (en particulier open-source), mais tous les solveurs commerciaux le feront (gurobi, cplex et Cie.). – sascha