Is it possible that, given the same problem, fmincon finds a solution and intlinprog does not?
1 visualización (últimos 30 días)
Mostrar comentarios más antiguos
Giosuè Basso
el 22 de Feb. de 2023
I have a system of inequalities i need to solve and the first step is to understand if a simplified version of this problem, lacking some constraints that involve binary variables, exists. In order to do that i first tried using intlinprog as it was going to be the function to use with the added constraints. No feasible solution is found even after changing the LPPreprocess option to 'none'.
Out of curiosity I tried using fmincon with the exact same matrices and cost function and a feasible solution was found.
Why does this happen? Shouldn't both the functions find a feasible solution when they're fed the same problem data?
4 comentarios
Walter Roberson
el 22 de Feb. de 2023
I would check whether the fmincon output is a true solution. fmincon uses tolerances to decide whether to terminate, and sometimes proposed parameters get within tolerance but are not true solutions.
Respuesta aceptada
Matt J
el 22 de Feb. de 2023
Editada: Matt J
el 23 de Feb. de 2023
Your constraints are not feasible, as can be seen by looking at inequalities 4,15, and 23.
A=A([4,15,23],:); B=B([4,15,23],:);
[array2table(A), array2table(B)]
Equalities 15 and 23 say that x1<=1 and x4<=1, which in turn implies that x1+x4<=2. However, inequality 4 states that x1+x4>=3.
The answer to your question, in this situation, is yes. fmincon can find a solution when the constraint set is empty, but it is an infeasible solution, representing some point fmincon reached in its search for a feasible solution before it gave up. Conversely, intlinprog and linprog will not return an infeasible solution.
0 comentarios
Más respuestas (0)
Ver también
Categorías
Más información sobre Solver Outputs and Iterative Display 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!