MATLAB Answers

Getting value of an optimisation variable in an optimisation problem

10 views (last 30 days)
Amritz Ansara
Amritz Ansara on 6 Dec 2020
Answered: Stephan on 7 Dec 2020
Hi, how do I get the value of the optimisation variable x in this code below? This code below is a linear program of the 1-norm minimisation of Ax-b.
A = A1;
b = b1;
[m,n] = size(A);
x = optimvar('x', n);
t = optimvar('t', m);
prob = optimproblem('Objective', [zeros(1, n) ones(1, m)]*[x;t], 'ObjectiveSense', 'min');
A_tilde = [-A speye(length(A)); A speye(length(A))];
b_tilde = [-b; b];
prob.Constraints.c1 = A_tilde * [x;t] >= b_tilde;
problem = prob2struct(prob);
[sol,fval,exitflag,output] = linprog(problem);
disp(fval)
  1 Comment
Amritz Ansara
Amritz Ansara on 6 Dec 2020
So sol only gives the solution of the objective. But I want x, which has to be zeroed out in the objective function. Is there a way to obtain the value of x here?

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!

Translated by