optimize is the common function for solving optimization problems.
diagnostics = optimize(Constraints,Objective,options)
A linear program can be solved with the following piece of code
x = sdpvar(length(c),1); F = [A*x<=b]; h = c'*x; optimize(F,h); solution = value(x);
If we only look for a feasible solution, we can omit the objective function
A diagnostic structure is returned which can be used, e.g, to check feasibility as reported by the solver (see yalmiperror for the possible return values)
diagnostics = optimize(F); if diagnostics.problem == 0 disp('Solver thinks it is feasible') elseif diagnostics.problem == 1 disp('Solver thinks it is infeasible') else disp('Something else happened') end
Solving the feasibility problem with a particular solver, e.g. QUADPROG, can be done by creating an options structure with sdpsettings
options = sdpsettings('solver','quadprog') optimize(F,,options);
Minimization is assumed, hence if we want to maximize, we simply flip the sign of the objective.