1. What do you evaluate once you plug in these four values? Is it a simulation to be performed given these parameter values as inputs, is it an optimization problem to be solved, a set of equations to solve, or what?
2. Is this process (from item 1) deterministic or stochastic?
3. Does it take a long time to do this evaluation?
Suppose I want to determine minimum value of Z for which I am having four parameter A ,B ,C,&D. where A,B,C,D are definite parameters. for fix parameter A I want to find out the optimized values of B,C &D for which Z is minimum.
again I have to repeat the problem by fix the value of B and varying the other three parameters A,C &D.
There are many different kinds of optimization models. If the objective function and constraints are linear, use simplex or other linear programming methods. If you have a mix of linear constraints and some integer variables, use branch and bound. If you have continous non linear constraints and/or objective function, try first teh karush-kuhn-tucker conditions and then one of the numerous methods available for continuous non linear optimization. If all this fails, try a nature inspired algorithm like genetic algorithms or particle swarm optimization.
If you give us the details of your problem we will be able to provide a better answer
You can use "Solver", which is an Excel add-in that might be good for that.
You write down your Z function in one cell on the excel sheet as a formula on other four cells (A,B,C,D). Then you call solver, fill the cells on the right place like in the example in attachment (it is just an example, those letters won't work), choose your constraint (ex: fixed value for A) fill it in its cell and let solver calculate min for Z by finding B,C,D values.
I am assuming you might just want an algorithm to do this, no matter which, so this is just a practical approach, with no consideration of possible diferent methods of doing what you want.
You will have to find which algorithm solver uses to do this in Excel Help or in Google. Assuming you function Z is linear on (A,B,C,D) it will be simplex. I just print what comes out in the first google search:
"The Microsoft Office Excel Solver tool uses several algorithms to find optimal solutions:
The GRG Nonlinear Solving Method for nonlinear optimization uses the Generalized Reduced Gradient (GRG2) code, which was developed by Leon Lasdon, University of Texas at Austin, and Alan Waren, Cleveland State University, and enhanced by Frontline Systems, Inc.
The Simplex LP Solving Method for linear programming uses the Simplex and dual Simplex method with bounds on the variables, and problems with integer constraints use the branch and bound method, as implemented by John Watson and Daniel Fylstra, Frontline Systems, Inc.
The Evolutionary Solving Method for non-smooth optimization uses a variety of genetic algorithm and local search methods, implemented by several individuals at Frontline Systems, Inc.
Any optimization algorithm will solve such a problem (say matlab or better scilab which you can find on the web). Your problem must be defined with an objective function (a mathematical function which specifies precisely the relationship that you wish that your parameters (variables) satisfy. You then must define constraints on your parameter (what kind of values your parameters must satisfy e.g. non negative, positive, integer values etc.). If there are no constraints then the problem is an unconstrained problem and the solution will depend on your objective function.
So to indicate some pointers towards your problem, it is necessary that you specify:
a) the objecive function that you wish to optimize and whether you wish a maximum or a minimum.
b) the constraints that you wish to impose on your problem, these can be inequality or equality constraints
c) are your variables continuous, integer, complex or what?
With these answers one can start to provide pertinent replies. Good Luck
yes, you can use it, if you know how to, but it is purely a heuristic: it is hoped that a solution near the optimum will be determined, but it not assured. By using an optimization algorithm, the solution as in proper algorithms will be one of two states: the optimum has been determined, no optimum solution exists.
first u fix your objective function(minimum or maximum).Next try find the relationship among the four parameters.linear or nonlinear relation ship exist.then u go for evolutionary algorithm. Hope u may get the result. All the best.
Nature inspired algorithms like, a genetic algorithm, should be the last resort. There is no guarantee that you will be even close to the optimal point, are very inefficient (lots of time to reach an often mediocre result), sometimes unstable, don't provide any information regarding how far from the true optimum is the answer given and provide little additional information.
You have to define well your problem before attempting any method. Again, if you give us more details, we will be able to help you. The equations you have will be a very good information. BTW, if your problem has continuous variables, PSO is far better than genetic algorithms.
The first thing to do is to end up with a proper problem formulation.
For instance for your 1st step this means that you want to minimize a function Z(B, C, D) for a given A.
One way to write it mathematically is
min Z(B, C, D)
or (B*, C*, D*) = argmin(Z(B,C,D))
Then you should ask yourself the following:
- do I know explicitly the mathematical function Z
- do the function have specific properties (is it linear, nonlinear, convex, ...)
- are there some constraints (there should be at least bounds on the manipulated degrees of freedom) ?
No imagine that you have a nonlinear cost function (Z) with constraints. For these either you know the explicit form, or you know a way the evaluate their values FOR ALL B, C, D in the feasible set, and for which (following Michael's comment), the computational time is not prohibitive,
One good way to do is to use an NLP solver, for instance fmincon in Matlab.
If the functions are of different natures (linear, convert, quadratic, ...) some other solvers could exhibit better performances. This is why you need first to ask yourself how much you know about the problem(s) you want to solve, before you choose for a tool to solve them...
If you do not have a nonlinear cost function form that you should use, but you have sufficient data on your problem you can use an optimization algorithm to determine the functional form by solving a statistical estimation problem and then use your optimization routine to find the desired value of the estimated function.
There are more accurate ways by combining the two optimization implementations in a larger more general routine.
You would require nonlinear optimization algorithm. Choose a recent well known book from your library. The 2 books indicated by Bakhsy are excelent monographs but deal only with linear optimization problems, therefore you could not combine the two approaches into an integrated algorithm.