Gamultiobj takes too long to run. Is there a workaround?
Show older comments
Good evening,
in the past few weeks I've been trying to solve a multi-objective optimization model I found in an article by using gamultiobj. In the attached files you can find said model, as well as the code I implemented in Matlab with the input taken from an example devised by the authors.
In the article the model has been solved using an exact method and it is stated that computation time is under three hours. This is the main reason I decided to use gamultiobj. My aim was to verify how fast a metaheustic method manages to find the Pareto frontier as opposed to an exact approach, which is known to take longer. However, with the code attached (I'm new to this so it's probably extremely inefficient) each generation roughly requires from 20 to 24 hours. Therefore, if MaxGenerations = 20 (as in my code) the overall computation time would be excessive. My intention was to evaluate how the Pareto frontier varies between between different scenarios, such as, for instance, MaxGenerations = 100 and MaxGenerations = 250. But with the current code that would be impractical. Also, as things stand, the algorithm after finding a first point on the Pareto frontier gets stuck, therefore the termination condition of MaxStallGenerations ensues.
Do you have any suggestions on how to improve the attached code so as to significantly reduce computation time? Any help will be greatly appreciated.
Note: the summation with the condition "o: rit = 0" is like a selective summation. Not all parts require certain operations in their production cycle. That's why I tried to implement this part of the model by using "if-elseif" construct.
Let me know if you need any additional information or clarification on the model and code.
Thank you for taking the time to read through my post.
Kind regards,
William
Accepted Answer
More Answers (0)
Categories
Find more on Solver Outputs and Iterative Display in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!