Solving equation problem with constrains using the Optimization Toolbox
3 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
MENGZE WU
el 12 de Nov. de 2021
Comentada: Matt J
el 12 de Nov. de 2021
I have a problem with handful of variables and constrains, it look a lot like this one:
However, instead of finding the minimum cost like the problem above, I already have a target cost, but find the variables that fits this target cost. So I look at the equation problems:
But it seems that the equation problem wouldn't allow me to add constrains, what should I do?
0 comentarios
Respuesta aceptada
Matt J
el 12 de Nov. de 2021
Editada: Matt J
el 12 de Nov. de 2021
Use your first approach except specify a least squares objective, like below.
x=optimvar('x','lower',0);
y=optimvar('y','lower',0);
target=10; %target cost
con(1)=x>=y;
con(2)=x+y>=1;
solve( optimproblem('Objective', (x+2*y-target).^2,'Constraints',con) )
Be mindful, however, that the solution will probably be non-unique. For example, another solution to the example problem above is x=10, y=0.
7 comentarios
Walter Roberson
el 12 de Nov. de 2021
If the set of solutions is all points on a particular line or particular plane, then you cannot return them all -- not unless you want to iterate over each distinguishable floating point number in the range.
That is why I was suggesting that the system needed to be integer constrained variables: for those it is possible to list all of the solutions (but it might need a lot of memory if the set of points is large enough.)
Matt J
el 12 de Nov. de 2021
If the set of solutions is all points on a particular line or particular plane, then you cannot return them all
No, you can't, but it will be a convex polyhedral region and, if bounded, you can use its vertices both to plot the region and to sample an arbitrary number of points from its interior.
Más respuestas (0)
Ver también
Categorías
Más información sobre Get Started with Optimization Toolbox en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!