MATLAB: ‘active-set’ is not working with linprog in matlab2016b

acitve-setlinprogmatlab2016boptimoptions

Hi,
I'm trying to solve an optimization constrained problem with an initial point x0 using linprog. My matlab version is 2016b and I'm writting the code as follows, which is stated when using the MATLAB help function.
options = optimoptions('linprog','Algorithm','active-set');
[xmin,fval,exitflag,output,lambda] = linprog(f,A,b,Aeq,beq,lb,ub,x0,options);
The previous code gives me the following error.
Error using optimoptions (line 118) Invalid value for OPTIONS parameter Algorithm: must be 'interior-point-legacy', 'dual-simplex', or 'interior-point'.
I tried the same code in Matlab 2016a and it works perfectly, does anybody has an idea on how to make 'linprog' work with an initial point in matlab 2016b?
Thank you in advance!

Best Answer

The release notes for R2016b are quite explicit: " linprog: 'active-set' and 'simplex' algorithms removed." Furthermore, within that release note is the statement "Previously, linprog accepted an initial point argument x0 for the 'active-set' algorithm. Now that this algorithm is removed, you no longer need to pass x0 to linprog."
I suggest that you try the default 'dual-simplex' algorithm. I suspect that it will solve your problem every bit as quickly and accurately as the former 'active-set' algorithm, even though it does not accept an initial point.
Alan Weiss
MATLAB mathematical toolbox documentation
Related Question