Optimization of an simple problem with multi parameters

Hello,
I just want to do any easy optimization with matlab, but i need a tip how to do it.
Here is the question:
I have 3 different parameters (a,b,c) which are effecting the result and one result (d). I need to minimize the result by changing the paramaters. How can i do it matlab?
Example:
a=50 b=100 c= 90 -----> d=45
a=80 b=70 c= 60 -----> d=23
a=20 b=65 c= 40 -----> d=58
a=30 b=134 c= 93 -----> d=71
a=40 b=150 c= 36 -----> d=62
a=54 b=100 c= 24 -----> d=25
a=? b=? c=? -------> Min(d) ?
thank you

답변 (1개)

Matt J
Matt J 2012년 10월 1일

0 개 추천

Use an Optimization Toolbox function if you've got it
Otherwise, try the FMINSEARCH command.

댓글 수: 5

Matt Thank you for your reply to this question, I also have a similar problem, can you please tell me if fminsearch can actually solve this? besides is it possible to solve this type of problems with fmincon?
econgrad - whether an algorithm will deal successfully with a minimization problem depends on the specific form and properties of the problem. It may also depend on whether you have a good initial guess, if local minima are present.
The problem that I have is: max ln(1+a*x1+b*x2). Now for each x1,x2 I have a unique a,b values. My problem is to find the x1 and x2 which maximizes the problem with corresponding a and b. My initial guess of x1 and x2 is provided from the actual data. And I have few constraints so would like to use fmincon.
Matt J
Matt J 2013년 8월 3일
편집: Matt J 2013년 8월 3일
As Roger told you here,
we would have to see the full form of the function you're maximizing (and the constraints) to know whether fmincon is applicable. ln(1+a*x1+b*x2) is obviously not the full form, because you say that a,b are further functions of x1,x2. So you really have
max ln(1+a(x1,x2)*x1+b(x1,x2)*x2)
We have to know what the dependences a(x1,x2) and b(x1,x2) look like. For one thing, fmincon will only solve 2nd order smooth problems, so we need to know if a() and b() satisfy those smoothness conditions.
Thanks for your reply, actually I have something like this: a=a(x1,x2,c1,c2) and b=b(x1,x2,c1,c2). When x1 and x2 changes, c1 and c2 would also change and that change has to obtained by finding the fixed points of a(x1,x2,c1,c2) and b(x1,x2,c1,c2). After finding the new c1,c2 by fixed point iteration, I get a new a(x1,x2,c1,c2) & b(x1,x2,c1,c2).

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

카테고리

질문:

2012년 10월 1일

Community Treasure Hunt

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

Start Hunting!

Translated by