How choose MultiStart x0

Hello,
I have a 3D function (e.g. f(x,y)). I find the global minumum with MultiStart. Given lb_x,lb_y,ub_x,ub_y and a linear equality constraint (const=x+y).
When MultiStart runs fmincon "i" times, default random generated x0 starting points satisfy bounds but linear equality constraint is unsatisfied (const not equal x+y). Why? What can I do for generated x0 satisfy equality constraint?
Thanks in advance!

댓글 수: 2

Matt J
Matt J 2013년 5월 14일
편집: Matt J 2013년 5월 14일
I have a 3D function (e.g. f(x,y))
If it's a function of only 2 variables, x & y, isn't it a 2D function?
Zoltan
Zoltan 2013년 5월 14일
3D function: z=f(x,y)
The results (values of x, y) satisfy exactly the linear equality constraint.

댓글을 달려면 로그인하십시오.

 채택된 답변

Matt J
Matt J 2013년 5월 14일
편집: Matt J 2013년 5월 14일

0 개 추천

With help from LCON2VERT from the File Exchange, you can generate a random point approximately satisfying the linear constraints.
First, find the vertices, V, of the feasible set using LCON2VERT. Then generate a random point as
weights=rand(1, size(V,1));
weights=weights/sum(weights);
point=weights*V

댓글 수: 4

Zoltan
Zoltan 2013년 5월 14일
OK thanks, but the results of multistart are ok, although starting points don't satisfy lin. eq. constraint. Perhaps it isn't necessary generate artifical sparting point. I don't understand the solvers method. :(
Matt J
Matt J 2013년 5월 14일
It's not necessary, but choosing starting points more likely to be solutions can accelerate the search.
Zoltan
Zoltan 2013년 5월 14일
When I give a "bad" (ignore constraints, bounds) starting point for fmincon, fmincon generate a new one. How does is fmincon? What is the algorithm?
Matt J
Matt J 2013년 5월 14일
It depends which fmincon algorithm you are using. SQP and Interior-Point can honor bound constraints at all iterations and so presumably those algs have some way of mapping the initial point to one that satisfies the bounds. All other constraints are satisfied only asymptotically.

댓글을 달려면 로그인하십시오.

추가 답변 (1개)

Matt J
Matt J 2013년 5월 14일
편집: Matt J 2013년 5월 14일

0 개 추천

An equality constraint can never be satisfied exactly because of finite machine precision.
Solutions ultimately found by FMINCON also do not satisfy constraints exactly. They only satisfy them within the TolCon optimset parameter.

댓글 수: 1

Zoltan
Zoltan 2013년 5월 14일
My problem is not the constraints tolerance (the default value is low).
The generated X0 (x and y) are absolutely bad for the lin. equality constraint.
For example: lin. constraint: 100=x+y generated x by MultiStart: 80 generated y: 93

댓글을 달려면 로그인하십시오.

카테고리

질문:

2013년 5월 14일

Community Treasure Hunt

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

Start Hunting!

Translated by