Can I set restrictions on the output matrix from "linprog" before solving?

1 vue (au cours des 30 derniers jours)
Austin Brehm
Austin Brehm le 31 Oct 2019
Modifié(e) : Matt J le 31 Oct 2019
Ex: OUTPUT = X = [0.2 0.2 0.2 0.2 0.2; 0.2 0.2 0.2 0.2 0.2; 0.2 0.2 0.2 0.2 0.2]
DESIRED OUTPUT = X = [1 0 0 0 0; 0 0 1 0 0; 0 1 0 0 0]
I know that you can set limits (lb - lower bound, ub - upperbound) on specific values of the output matrix.
So for this example, lb = 0 and ub = 1.
Is it possible to set up a loop where if one cell of a matrix is allocated, the rest of the cells in that row are set to zero?

Réponses (1)

Matt J
Matt J le 31 Oct 2019
Modifié(e) : Matt J le 31 Oct 2019
If X is constrained to be binary (using intlinprog rather than linprog), then this condition is equivalent to the linear inequality constraint,
sum(X,2)<=1;

Catégories

En savoir plus sur Linear Programming and Mixed-Integer Linear Programming dans Help Center et File Exchange

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by