What function can I use for finding global optima in semi-infinite constraint optimization problem?

1 次查看(过去 30 天)
Below is the simplified version of problem I am trying to solve:
Minimize f(x) =l1+l2+l3
Subject to
20°≤θ1160°
200°≤θ2340°
200°≤θ3340°
Where, θ1,θ2,θ3=f(l1,l2,l3,ϕ)
30°≤ϕ≤150°
I believe this problem falls under semi-infinite constraints problem, how can I find out global optima of it? I read about fseminf function but it only gives local minima. Can it be optimized using GA?

采纳的回答

Matt J
Matt J 2017-10-22
编辑:Matt J 2017-10-22
I think a viable strategy would be to discretize ϕ into a finite set of values (say phi=30:150) and apply GA to the discretized problem. Then, take that solution and use it to initialize fseminf as applied to the original semi-infinite problem. Assuming GA does a decent job, you can reasonably expect the initial guess to be good enough so that the local optimization finds a global solution.

更多回答(1 个)

John D'Errico
John D'Errico 2017-10-22
Why not? Only you know what is inside f, so being able to say, of course it can, this is impossible to know.
Of course, you seem to think that GA will truly give a global optimum. No numerical optimization tool can assure that on a completely blackbox function. All that can be done is to improve the probability that it will find a point at the global min.
The best thing that you can do is based on your own knowledge of the process, i.e., to provide good starting values. Any intelligence that you can add to the problem will be worth more than any magical computer algorithm.

类别

Help CenterFile Exchange 中查找有关 Solver Outputs and Iterative Display 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by