Combinatorial optimization problem

Click For Summary

Discussion Overview

The discussion revolves around a combinatorial optimization problem involving the selection of tools to perform a set of tasks while minimizing costs. Participants explore various algorithms and approaches to tackle this problem, including theoretical frameworks and practical methods.

Discussion Character

  • Exploratory
  • Technical explanation
  • Debate/contested
  • Mathematical reasoning

Main Points Raised

  • One participant describes the problem as a standard combinatorial optimization challenge and seeks algorithmic suggestions.
  • Another participant suggests using search terms to explore the wide subject area, indicating the abundance of material available.
  • A participant mentions trying a basic version of a method and expresses interest in other potential methods, specifically questioning the efficiency of bound estimation in branch and bound (B & B) techniques.
  • One suggestion is to formulate the problem as a weighted bipartite matching problem and solve it using the network simplex algorithm as a min-cost max-flow problem.
  • A participant elaborates on the complexity of NP-hard problems, suggesting that combinatorial optimization problems often fall into this category unless specific structures can be exploited, such as dynamic programming.
  • Other methods mentioned include dynamic programming, mixed integer programming (MIP), and approximation algorithms, including semidefinite programming and local search techniques like simulated annealing.
  • A reference to a paper discussing the simplex algorithm's application to NP-hard problems is provided, indicating potential insights into solving such challenges.

Areas of Agreement / Disagreement

Participants express a range of views on the methods and approaches to solving the optimization problem, with no consensus reached on a single best method. The discussion remains open with multiple competing ideas and techniques presented.

Contextual Notes

Participants acknowledge the complexity and sophistication required to address NP-hard problems, highlighting the need for patience and the potential for mixed approaches.

csopi
Messages
81
Reaction score
2
Hi,
I have the following optimization problem. I have a list of tasks that I should be able to perform with my tools. Each tool costs a certain amount of money, and may be used to carry out a finite number of tasks. The goal is to choose an optimal set of tools in such a way that the toolset can do all the required tasks, while the total cost should be minimal.

Any idea what kind of algorithm shall I use to solve this? It looks like a standard combinatorial optimization problem, I suppose there should be a solution for it.

Many thanks!
 
Physics news on Phys.org
Start here and use the terms as search terms to find somethingof interest. It's a wide subject where there's a lot to earn, so there's an awful lot of material
 
BvU said:
Start here and use the terms as search terms to find somethingof interest. It's a wide subject where there's a lot to earn, so there's an awful lot of material

Thanks for the immediate reply! I have heard about this one, actually already tried a basic version. I am wondering if there are other methods? B & B is an "art" for me, not sure what is the most efficient way for bound estimation, that's why I am asking.
 
Can you formulate similar to a weighted bipartite matching problem (with tools on one side, and tasks on the other), and solve it as a min-cost max-flow problem using the network simplex algorithm?
 
Last edited:
  • Like
Likes   Reactions: StoneTemplePython
csopi said:
Thanks for the immediate reply! I have heard about this one, actually already tried a basic version. I am wondering if there are other methods? B & B is an "art" for me, not sure what is the most efficient way for bound estimation, that's why I am asking.

To be clear everything is an "art" when you're dealing with NP Hard problems. Combinatorial optimization problems invariably fall under into this bucket or close relative, unless there is some very special structure to exploit (see dynamic programming in particular if you find a way to make subproblems overlap and above post on network simplex, which roughly means very special linear program that gets integer results).

Other power tools are dynamic programming and mixed integer programming (MIP). These are for exact solutions and run in exponential time. A quick and easy bound on optimality comes when you relax the integer domain requirement of your problem and run it as a linear program.

There are tons of approximation algorithms out there as well, including some very powerful stuff with semidefinite programming that I've been meaning to learn. Local search with randomness sprinkled in is a popular method (simulated annealing being a well known flavor of this).

- - - -
In general this not an easy class of problems and it takes a lot of sophistication (and patience) to deal with this stuff. Sometimes people find ways to mix and match tools, creating an ensemble approach.

If it were me, I'd first code up the mixed integer program (and actually first run the LP relaxation to get a fast bound). Give the MIP a few hours and see if it terminates.
 
  • Like
Likes   Reactions: BvU
This 2013-2014 paper: The Simplex Algorithm is NP-mighty, by Yann Disser and Martin Skutella, has some good insights regarding use of the simplex algorithm as a tool for for solving NP-hard problems.
 

Similar threads

  • · Replies 10 ·
Replies
10
Views
3K
  • · Replies 2 ·
Replies
2
Views
2K
  • · Replies 14 ·
Replies
14
Views
2K
  • · Replies 30 ·
2
Replies
30
Views
5K
Replies
17
Views
2K
  • · Replies 5 ·
Replies
5
Views
2K
  • · Replies 4 ·
Replies
4
Views
3K
  • · Replies 6 ·
Replies
6
Views
2K
  • · Replies 20 ·
Replies
20
Views
6K
  • · Replies 2 ·
Replies
2
Views
2K