[Math] Which optimization can I use: Hill climbing, simulated annealing, or ant colony algorithms

optimization

I plan to make program to carry out optimization. In my optimization problem, there are three parameters, for instance $X$, $Y$, $Z$, that must be optimized (or minimized in this case since all the values of $X$, $Y$, $Z$ must be as low as possible). And another information is that each parameter has constraint. For instance: $X \leq 10$, $Y \leq 25$, $Z \leq 2000$.
My question is, which of the following algorithms that is best to use in solving my problem:

  • a) Hill climbing
  • b) Simulated annealing
  • c) Ant Colony

If I can use all the three algorithms to solve my problem, how can I compare the quality of the results outputted by those three algorithms?

Note: I do not want to use Genetic Algorithm since this algorithm has already been used to solve my problem.

Thanks in advance.

Sorry for not explaining my problem. Here is my optimization problem:
I have 13 parameters. In the application, the user must input the values for all 13 parameters. The values inputted by the user is called initial design. And this initial design has certain total cost and total performance value.
The duty of my application is to find alternative design that is better than the initial design. Better here means that it has lower total cost and/or lower total performance value.

For your information that, for instance, when the user input a parameter with material whose performance value is 0.9 and whose cost is US Dollar 50, there will be several alternative materials with lower performance value and/or lower cost. If you have 13 parameters then you will have very huge combination. So, this is my problem, that is to find the best alternative design from this huge combination. Note that in finding the alternative design, there are constraints in the total cost and total performance value allowed. For instance, the total cost must be less than or equal to X and total performance value must less than or equal to Y.
The alternative design proposed by my application can be more than one.

Hope my explanation is clear.

Best Answer

It depends on the optimization problem that you are facing. If it is discrete, continuous, large (has a large number of inputs), $\cdots$. You have to read about the three algorithms you mentioned and compare them to select the one suitable for your problem. As far as I know, Hill climbing, uses local search technique hence you face a problem of local optima. For the other two algorithms, they are suitable for a discrete optimization problem especially Ant colony since it is based on a population techniques.

I repeat, it mainly depends on the optimization problem that you have in hand. Maybe if you give us more details, it will be good for you and for us to figure something out.

Related Question