2,704 research outputs found

    Breaking Instance-Independent Symmetries In Exact Graph Coloring

    Full text link
    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

    Get PDF
    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

    Get PDF
    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

    Get PDF
    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
    • 

    corecore