1. An apparatus for solving a mixed integer programming problem comprising: a generating section configured to generate a relaxed mixed integer programming problem by relaxing only a portion of integer variables of the mixed integer programming problem to a continuous variable; a solver configured to reduce solving time for the relaxed mixed integer programming problem by branching only relaxed portions of the integer variables using a branch-and-bound procedure; and a determining section configured to determine, using a processor, a solution of the mixed integer programming problem based on a solution of the relaxed mixed integer programming problem to reduce computational resources, and to determine an upper bound and a lower bound for each of one or more sub-problems in a set of sub-problems, wherein particular sub-problems from the set of sub-problems are discarded if a lower bound of the particular sub-problems is greater than an upper bound of other sub-problems in the set of sub-problems.