Reputation: 2041
EDIT: In lieu of other suggestions, I've decided to play around with the Python DEAP framework until I come up with something usable. Hopefully this helps people with a similar problem.
I am implementing a system in which we need to do multi-objective optimization for a client, as follows:
A manufacturing system has to produce N parts (of the same kind) by welding. For this, a certain material can be chosen, a welding method, and the number of welding points to use for building each part. The image below shows the parameters of the problem and their interdependencies:
I can play with values for
material
welding method
number of spot welding points
I need to find the combination of material, welding method and number of welding points/part that minimizes the cost and maximizes the stability.
I was thinking of using an evolutionary algorithm approach. However, my background is not in optimization, so, if someone could suggest a more specific algorithm that's suited for this problem, it would be really helpful.
Upvotes: 1
Views: 1148
Reputation: 710
Old post, I realize, but for the sake of anyone with a similar situation...
Although using an EA is one approach, this problem strikes me as particularly well-suited for Mixed Integer Programming. EA's can be great, but are not guaranteed to reach an optimal solution. MIP, on the other hand, can reach the optimal solution (and prove that it's optimal). Additionally, multiple objectives can be quite easy to implement.
I'd recommend checking out Gurobi (https://www.gurobi.com/). They've done a great job of making MIP as accessible as possible, and have a lot of documentation and examples on their website to get started. It's a bit of a learning curve at first, but you'll soon see opportunities to use MIP everywhere you look, so I think the time investment pays off. I believe there is a trial license, too.
Upvotes: 0
Reputation: 1942
Try SMS-EMOA: http://ls11-www.cs.uni-dortmund.de/people/beume/publications/BNR08_at.pdf The paper shows that it is kind of an improvement of NSGA-II
Upvotes: 1
Reputation: 1518
Assuming that you have a cost function for 'cost' and 'stability' you can use a traditional multi-objective EA like NSGa-II, SPEA-2 and maybe PAES. Obviously, the choice of the algorithm is strongly dependent on the number of samples do you have, on the features of cost functions and other important characteristics. You can check on journals like Applied Soft Computing for similar applications.
Upvotes: 1