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.

  • $\begingroup$ Please write more about your optimization problem. Otherwise it is impossible to give you advice. $\endgroup$ – The Pheromone Kid Jun 2 '14 at 14:22
  • $\begingroup$ @Ert, I have described my problem in the revised question. Thanks. $\endgroup$ – user1221330 Jun 3 '14 at 16:54
  • $\begingroup$ Let me formulate the optimization problem: You want to minimize the cost $C$ under the constraint that the performance $P$ is greater than some minimum performance $P_{\min}$? Both $P$ and $C$ are functions of the parameter choices? $\endgroup$ – The Pheromone Kid Jun 5 '14 at 7:34
  • $\begingroup$ If you can properly formulate your problem (at least I cannot see any from your description), I think all these heuristics are fine. $\endgroup$ – Liäm Nov 28 '17 at 8:16

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.

  • $\begingroup$ Jika, I have described my problem in the revised question. Thanks. $\endgroup$ – user1221330 Jun 3 '14 at 16:55

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.