2,704 research outputs found
Breaking Instance-Independent Symmetries In Exact Graph Coloring
Code optimization and high level synthesis can be posed as constraint
satisfaction and optimization problems, such as graph coloring used in register
allocation. Graph coloring is also used to model more traditional CSPs relevant
to AI, such as planning, time-tabling and scheduling. Provably optimal
solutions may be desirable for commercial and defense applications.
Additionally, for applications such as register allocation and code
optimization, naturally-occurring instances of graph coloring are often small
and can be solved optimally. A recent wave of improvements in algorithms for
Boolean satisfiability (SAT) and 0-1 Integer Linear Programming (ILP) suggests
generic problem-reduction methods, rather than problem-specific heuristics,
because (1) heuristics may be upset by new constraints, (2) heuristics tend to
ignore structure, and (3) many relevant problems are provably inapproximable.
Problem reductions often lead to highly symmetric SAT instances, and
symmetries are known to slow down SAT solvers. In this work, we compare several
avenues for symmetry breaking, in particular when certain kinds of symmetry are
present in all generated instances. Our focus on reducing CSPs to SAT allows us
to leverage recent dramatic improvement in SAT solvers and automatically
benefit from future progress. We can use a variety of black-box SAT solvers
without modifying their source code because our symmetry-breaking techniques
are static, i.e., we detect symmetries and add symmetry breaking predicates
(SBPs) during pre-processing.
An important result of our work is that among the types of
instance-independent SBPs we studied and their combinations, the simplest and
least complete constructions are the most effective. Our experiments also
clearly indicate that instance-independent symmetries should mostly be
processed together with instance-specific symmetries rather than at the
specification level, contrary to what has been suggested in the literature
Optimized shunting with mixed-usage tracks
We consider the planning of railway freight classification at hump yards, where the problem
involves the formation of departing freight train blocks from arriving trains subject to
scheduling and capacity constraints. The hump yard layout considered consists of arrival
tracks of sufficient length at an arrival yard, a hump, classification tracks of non-uniform
and possibly non-sufficient length at a classification yard, and departure tracks of sufficient
length. To increase yard capacity, freight cars arriving early can be stored temporarily
on specific mixed-usage tracks. The entire hump yard planning process is covered in this
paper, and heuristics for arrival and departure track assignment, as well as hump scheduling,
have been included to provide the neccessary input data. However, the central problem
considered is the classification track allocation problem. This problem has previously
been modeled using direct mixed integer programming models, but this approach did not
yield lower bounds of sufficient quality to prove optimality. Later attempts focused on
a column generation approach based on branch-and-price that could solve problem instances
of industrial size. Building upon the column generation approach we introduce
a direct arc-based integer programming model, where the arcs are precedence relations
between blocks on the same classification track. Further, the most promising models
are adapted for rolling-horizon planning. We evaluate the methods on historical data
from the Hallsberg shunting yard in Sweden. The results show that the new arc-based
model performs as well as the column generation approach. It returns an optimal schedule
within the execution time limit for all instances but from one, and executes as fast
as the column generation approach. Further, the short execution times of the column
generation approach and the arc-indexed model make them suitable for rolling-horizon
planning, while the direct mixed integer program proved to be too slow for this.
Extended analysis of the results shows that mixing was only required if the maximum
number of concurrent trains on the classification yard exceeds 29 (there are 32 available
tracks), and that after this point the number of extra car roll-ins increases heavily
An exact algorithm for the Partition Coloring Problem
We study the Partition Coloring Problem (PCP), a generalization of the Vertex Coloring Problem where the vertex set is partitioned. The PCP asks to select one vertex for each subset of the partition in such a way that the chromatic number of the induced graph is minimum. We propose a new Integer Linear Programming formulation with an exponential number of variables. To solve this formulation to optimality, we design an effective Branch-and-Price algorithm. Good quality initial solutions are computed via a new metaheuristic algorithm based on adaptive large neighborhood search. Extensive computational experiments on a benchmark test of instances from the literature show that our Branch-and-Price algorithm, combined with the new metaheuristic algorithm, is able to solve for the first time to proven optimality several open instances, and compares favorably with the current state-of-the-art exact algorithm
Exact Algorithms for the Graph Coloring Problem
The graph coloring problem is the problem of partitioning the vertices of a graph into the smallest possible set of independent sets. Since it is a well-known NP-Hard problem, it is of great interest of the computer science finding results over exact algorithms that solve it. The main algorithms of this kind, though, are scattered through the literature. In this paper, we group and contextualize some of these algorithms, which are based in Dynamic Programming, Branch-and-Bound and Integer Linear Programming. The algorithms for the first group are based in the work of Lawler, which searches maximal independent sets on each subset of vertices of a graph as the base of his algorithm. In the second group, the algorithms are based in the work of Brelaz, which adapted the DSATUR procedure to an exact version, and in the work of Zykov, which introduced the definition of Zykov trees. The third group contains the algorithms based in the work of Mehrotra and Trick, which uses the Column Generation method
- âŠ