Function Help: SCP | View code for SCP | Function Reference |

SCP

SCP Solves a problem through simple continuation method SCP is to be used over another solver. It makes successive call to the underlying solver while adjusting its parameters. The idea is to start from parameters, Z0, with which the problem is easy to solve in order to converge to the final parameters, Z1, with which the problem may be more difficult to solve. X = SCP(X,Z1,Z0,PROBLEM) attempts to solve for X the problem PROBLEM(X,Z1), where Z1 designates parameters of the problem and X a first guess of the solution. If it fails, it will try in N=2 steps by solving iteratively PROBLEM(X,Z) with Z=((N-n)*Z0+n*Z1)/N, with Z0 a set of parameters for which the problem is easy to solve or for which the first guess X is the solution. In case, it fails, N is increased until it converges or until 10 attempts have been tried. X = SCP(X,Z1,Z0,PROBLEM,N) starts by slicing the problem in N slices. [X,F] = SCP(X,Z1,Z0,PROBLEM,...) returns F, the value returned by PROBLEM at the solution point. [X,F,EXITFLAG] = SCP(X,Z1,Z0,PROBLEM,...) returns EXITFLAG that describes the exit conditions. Possible values are 1 : SCP converged 0 : Failure to converge [X,F,EXITFLAG,N] = SCP(X,Z1,Z0,PROBLEM,...) returns N the number of slices in which the problem was sliced to achieve convergence.