A Combinatorial optimization problem

AI Thread Summary
The discussion revolves around solving a combinatorial optimization problem involving selecting a set of tools to perform tasks at minimal cost. Suggested algorithms include branch and bound (B&B), network simplex for min-cost max-flow problems, dynamic programming, and mixed integer programming (MIP). The importance of LP relaxation for quick optimality bounds is highlighted, along with the potential of approximation algorithms and local search methods like simulated annealing. The complexity of NP-hard problems is acknowledged, emphasizing the need for sophisticated approaches. Overall, tackling such problems requires patience and a combination of various techniques for effective solutions.
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!
 
Mathematics 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 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 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.
 
Thread 'Video on imaginary numbers and some queries'
Hi, I was watching the following video. I found some points confusing. Could you please help me to understand the gaps? Thanks, in advance! Question 1: Around 4:22, the video says the following. So for those mathematicians, negative numbers didn't exist. You could subtract, that is find the difference between two positive quantities, but you couldn't have a negative answer or negative coefficients. Mathematicians were so averse to negative numbers that there was no single quadratic...
Insights auto threads is broken atm, so I'm manually creating these for new Insight articles. In Dirac’s Principles of Quantum Mechanics published in 1930 he introduced a “convenient notation” he referred to as a “delta function” which he treated as a continuum analog to the discrete Kronecker delta. The Kronecker delta is simply the indexed components of the identity operator in matrix algebra Source: https://www.physicsforums.com/insights/what-exactly-is-diracs-delta-function/ by...
Thread 'Unit Circle Double Angle Derivations'
Here I made a terrible mistake of assuming this to be an equilateral triangle and set 2sinx=1 => x=pi/6. Although this did derive the double angle formulas it also led into a terrible mess trying to find all the combinations of sides. I must have been tired and just assumed 6x=180 and 2sinx=1. By that time, I was so mindset that I nearly scolded a person for even saying 90-x. I wonder if this is a case of biased observation that seeks to dis credit me like Jesus of Nazareth since in reality...
Back
Top