# Proper implementation and use of fmincon

3 views (last 30 days)
Mitesh Farsodia on 12 Jul 2012
I need some guidance for this following problem. Where function f is defined as
f= x(1)*x(2)
x(1)= [1 2 3 4]
x(2)= [6 7 8]
Function f needs to be optimized using fmincon such as
fmin < f > fmax
My concern is how should I set or define constraint for given range of inputs {x(1) & x(2)}
I appreciate your time and help on this.
Thanks

Matt Kindig on 12 Jul 2012
Hi Mitesh,
I'm confused as to your problem formulation. The x(1)=[1 2 3 4] and x(2)=[6 7 8] are not valid MATLAB. What does this values indicate? Also, what are fmin and fmax?
When you save you have a given range of inputs {x(1) & x(2)}, what does that mean? Do you mean that x(1) and x(2) have upper and/or lower bounds?
Thanks
Mitesh Farsodia on 12 Jul 2012
Hi Matt,
Thanks for the follow up and sorry for creating the confusions;
x(1) and x(2) are the two input variables which are predefined.
- When I say x(1)=[1 2 3 4], it means range of first variable is limited or in another way I have limited number of input variables. Instead of x(1)= [1 2 3 4] it could be x(1)= [10 22 14 56]
- fmin and fmax just the lower and upper bounds on final result of function f. for example 4 < f > 20, where fmin =4 and fmax =20
Regards Mitesh

Richard Brown on 13 Jul 2012
I presume [1 2 3 4] and [6 7 8] are sets of possible values for x1 and x2. If your problem is only small, then you can use brute force
[X1, X2] = meshgrid([1 2 3 4], [6 7 8]);
F = X1 .* X2;
I = find(F > fmin & F < fmax);
[minval, j] = min(F(I));
minidx = I(j);
Mitesh Farsodia on 13 Jul 2012
Hi Richard,
Actually there are multiple inputs and my objective is to optimize the function for given sets of inputs. Final value of function is constrained to some fix value. Is it possible to frame this problem in optimtool or in fmincon?
Regards Mitesh