3
$\begingroup$

Especially in the case of Discrete and Combinatorial Optimization Problems - I am trying to better understand the the idea of "subproblems" within the "main problem":

enter image description here

At a very superficial level, I can understand the idea of a "subproblem" : A complicated optimization problem might be too difficult to solve directly. Therefore, if we can "break" this complicated problem into smaller problems (provided these smaller problems are easier to solve than the original complicated problem), we can instead solve these smaller subproblems and as a result, indirectly solve the original complicated problem.

Example 1: As an example, I might not be able to add two large numbers together. However, I know how to add smaller numbers together. So I might be able to "break" this addition problem into smaller subproblems. For example:

  • Original Problem 541 + 329 = 870
  • Subproblem 1: 500 + 300 = 800
  • Subproblem 2: 40 + 20 = 60
  • Subproblem 3: 1 + 9 = 10
  • Subproblem 1 + Subproblem 2 + Subproblem 3 = 800 + 60 + 10 = 870 = Original Problem

Example 2: As another example, I might not be able to carry all my groceries from my car to my house in one trip (original problem). So instead of struggling and inevitably being unable to carry all my groceries in one trip, I might be identify subproblems as a function of the maximum weight of groceries I can carry, and solve the original problem by solving a series of subproblems (i.e. making multiple trips instead of a single trip).

Now, I am trying to extend these ideas to understand the relevance of subproblems in combinatorial and discrete optimization problems (e.g. mixed integer programming). For instance, I have heard that almost all algorithms for discrete optimization problems always try to solve these problems by identifying subproblems but I am not sure why this is.

enter image description here

Logically, I can understand why this is the case as discrete/combinatorial optimization are too difficult to solve at once, thus we try to break them into mini subproblems and solve these subproblems individually. I have also heard that in a "constraint mixed integer programming problem," the existence of subproblems are inevitable : an optimization algorithm will treat the problem as a continuous problem when identifying a candidate solution (subproblem 1), and then check to see if this candidate solution satisfies the constraints (subproblem 2). But I am not sure if this analogy is correct.

My Question: Can someone please explain why Subproblems are so "relevant" in Discrete and Combinatorial Optimization Problems?

References:

Note: In Machine Learning applications where the task is to optimize a (complicated) Loss Function corresponding to a Neural Network, Optimization Algorithms such as Gradient Descent often (locally and linearly) approximate this Loss Function based on a Taylor Expansion, seeing as this local-linear approximation of the Loss Function is easier to optimize compared to the original Loss Function (e.g. less computationally expensive). Thus, could we say that the Gradient Descent algorithm in Machine Learning applications is identifying a "first subproblem" through the local-linear approximation of the Loss Function, and then solves a "second subproblem" by evaluating the derivative of this local-linear approximation?

$\endgroup$
2

1 Answer 1

4
$\begingroup$

I would disagree with the contentions that subproblems are "inevitable" and that algorithms almost always try to identify and exploit them. What is illustrated in your diagram (a branch-and-bound solution tree) does not really involve "subproblems". A more accurate term for the problems at the nodes would be "restricted problems" or just "restrictions".

Subproblems frequently occur when a problem can be decomposed into smaller, more tractable portions. For instance, a multiperiod production problem might decompose into a set of single period subproblems and a master problem that integrates the single period solutions and handles constraints that link them. Besides decomposing over time, in some cases we decompose problems geographically or geometrically. In one project with which I was involved, we were placing a network of sensors in a body of water. The full model was too large to solve, so we approximated the body of water with a bunch of 3D cubes, made the placement of sensors in each cube a subproblem, and then had a master problem that resolved the connection of the separate networks into a single network.

In addition to decomposition, another source of subproblems is models where a portion of the problem does not fit a mixed integer linear (quadratic, whatever) structure. There are techniques that combine a MILP model containing the elements that are easily modeled with an "oracle" that takes candidate solutions, does mysterious things, and either blesses the solution or conjures up a previously unknown constraint that the candidate solution violates. In the latter case, the new constraint is added to the MILP model and solution of the MILP continues or starts over. The oracle is considered a subproblem.

$\endgroup$
5
  • $\begingroup$ @ prubin: thank you so much for your answer! I would be very interested to learn more about your project! $\endgroup$
    – stats_noob
    Feb 16 at 18:04
  • $\begingroup$ Could you please comment on this point I made? $\endgroup$
    – stats_noob
    Feb 16 at 18:04
  • $\begingroup$ "I have also heard that in a "constraint mixed integer programming problem," the existence of subproblems are inevitable : an optimization algorithm will treat the problem as a continuous problem when identifying a candidate solution (subproblem 1), and then check to see if this candidate solution satisfies the constraints (subproblem 2). But I am not sure if this analogy is correct. " $\endgroup$
    – stats_noob
    Feb 16 at 18:04
  • $\begingroup$ Sorry, I'm not sure on what point you want me to comment. As far as the underwater sensor project, it was presented at a conference. Here is the citation. Khalfallah, Z.; Fajjari, I.; Aitsaadi, N.; Rubin, P. & Pujolle, G. A Novel 3D Underwater WSN Deployment Strategy for Full-Coverage and Connectivity in Rivers. 2016 IEEE International Conference on Communications (ICC), 2016, 1-7. $\endgroup$
    – prubin
    Feb 16 at 18:59
  • 1
    $\begingroup$ There is a matter of terminology here. Treating a discrete problem as a continuous problem is a type of relaxation (in this case by relaxing the integrality constraints). I would not call this a subproblem, but I cannot guarantee that nobody else would. $\endgroup$
    – prubin
    Feb 16 at 19:01

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.