# bisection

Tags:

Updated:

bisection implements a bisection algorithm to solve some simple quasi-convex problems.

The code assumes the constraints are quasi-convex in $$x$$ and the scalar $$t$$, bilinear in $$t$$ and $$x$$, $$t=0$$ is feasible, and the objective function is $$t$$ or $$-t$$.

### Syntax

diagnostics = bisection(Constraints,Objective,options)


### Example

Bisection can either be called as a command (note that node solver has to be specified)

P = sdpvar(2);
sdpvar t
Constraint = [P <= t*P + eye(2), P >= eye(2)/3]
Objective = t;
diagnostics = bisection(Constraint,Objective,sdpsettings('solver','mosek'))


or as any other solver (also here node solver has to be specified)

P = sdpvar(2);
sdpvar t
Constraint = [P <= t*P + eye(2), P >= eye(2)/3]
Objective = t;
diagnostics = bisection(Constraint,Objective,sdpsettings('solver','bisection','bisection.solver','mosek'))


At the moment, YALMIP does not analyze the problem to see if it really is quasi-convex in $$t$$ and that your specified solver is applicable for fixed $$t$$. Behaviour when you send an incorrect model is unspecified.

See the decay-rate example and the solver specification.