45 research outputs found

    Optimal Decision Trees for the Algorithm Selection Problem: Integer Programming Based Approaches

    Full text link
    Even though it is well known that for most relevant computational problems different algorithms may perform better on different classes of problem instances, most researchers still focus on determining a single best algorithmic configuration based on aggregate results such as the average. In this paper, we propose Integer Programming based approaches to build decision trees for the Algorithm Selection Problem. These techniques allow automate three crucial decisions: (i) discerning the most important problem features to determine problem classes; (ii) grouping the problems into classes and (iii) select the best algorithm configuration for each class. To evaluate this new approach, extensive computational experiments were executed using the linear programming algorithms implemented in the COIN-OR Branch & Cut solver across a comprehensive set of instances, including all MIPLIB benchmark instances. The results exceeded our expectations. While selecting the single best parameter setting across all instances decreased the total running time by 22%, our approach decreased the total running time by 40% on average across 10-fold cross validation experiments. These results indicate that our method generalizes quite well and does not overfit.Comment: International Transactions in Operational Research. 201

    Late acceptance hill-climbing for high school timetabling.

    Get PDF
    The application of the Late Acceptance HillClimbing (LAHC) to solve the High School Timetabling Problem is the subject of this manuscript. The original algorithm and two variants proposed here are tested jointly with other state-of-art methods to solve the instances proposed in the Third International Timetabling Competition. Following the same rules of the competition, the LAHC-based algorithms noticeably outperformed the winning methods. These results, and reports from the literature, suggest that the LAHC is a reliable method that can compete with the most employed local search algorithms

    Strong Bounds for Resource Constrained Project Scheduling: Preprocessing and Cutting Planes

    Full text link
    Resource Constrained Project Scheduling Problems (RCPSPs) without preemption are well-known NP-hard combinatorial optimization problems. A feasible RCPSP solution consists of a time-ordered schedule of jobs with corresponding execution modes, respecting precedence and resources constraints. In this paper, we propose a cutting plane algorithm to separate five different cut families, as well as a new preprocessing routine to strengthen resource-related constraints. New lifted versions of the well-known precedence and cover inequalities are employed. At each iteration, a dense conflict graph is built considering feasibility and optimality conditions to separate cliques, odd-holes and strengthened Chv\'atal-Gomory cuts. The proposed strategies considerably improve the linear relaxation bounds, allowing a state-of-the-art mixed-integer linear programming solver to find provably optimal solutions for 754 previously open instances of different variants of the RCPSPs, which was not possible using the original linear programming formulations.Comment:

    A smart pool search matheuristic for solving a multi-objective microgrid storage planning problem.

    Get PDF
    In this paper, a multi-objective power dispatching problem that uses Plug-in Electric Vehicle (PEV) as storage units is considered. The problem involves several PEVs and a microgrid community, composed of small houses, residential areas, and different Renewable Energy Resources. Three different objectives are considered: microgrid total costs; usage of PEV batteries and maximum grid peak load. In order to find sets of non-dominated solutions, a matheuristic black box solves several Mixed Integer Linear Programming (MILP) subproblems. We improve a previously developed MILP model and design a new multi-objective matheuristic including new problem initialization mechanisms

    Formulações e algoritmos para o problema de programação de horários em escolas

    No full text
    This thesis considers an variation of a classical combinatorial NP-Complete problem: The Class-Teacher Timetabling Problem. In this variant, important practical considerations are incorporated, specifically, teachers preferences and distribution of lessons. The proposals of this work are divided in three parts. In the first part a new hybrid heuristic is presented, based on Tabu Search. Computational experiments demonstrated that the proposed heuristic improves upon existing methods presenting a consistently better performance in all test problems. In the second part, proposals for producing optimal timetables are presented, considering Mixed Integer Linear Programming Techniques. In this sense, a formulation with an exponential number of rows and columns is developed, as well an algorithm to manage this formulation by cut and column generation. Computational experiments demonstrated that the proposed formulation provides stronger bounds, which allowed the proof of optimality for 3 open instances from literature. Finally, in the third part, the synergy of heuristics and exact methods is explored, by the optimal resolution of sub-problems from timetables heuristically generated. These hybrid algorithms offered the best upper bounds available.Esta tese trata de uma variante de um clássico problema combinatório NP-Completo : o Problema de Programação de Horários professor-Turma. Nessa variante, importantes considerações práticas são incorporadas, especificamente tratando de preferências de professores e distribuição das aulas. As propostas apresentadas nesta tese dividem-se em 3 partes. Na primeira parte é apresentada uma nova heurística híbrida, baseada em Busca Tabu. Experimentos computacionais demonstraram que a heurística proposta melhora os resultados da literatura, apresentando um desempenho consistentemente superior em todos os problemas teste. Na segunda parte propostas foram apresentadas para a obtenção de quadros de horários provadamente ótimos, considerando técnicas de Programação Linear Inteira Mista. Nesse sentido é desenvolvida uma formulação com um número exponencial de linhas e colunas, bem como um algoritmo que utiliza as técnicas de geração de colunas e cortes para o tratamento dessa formulação. Experimentos computacionais demonstraram que a formulação apresentada permite a obtenção de limites inferiores bastante fortes, os quais permitiram a prova da otimalidade para 3 instâncias em aberto da literatura. Finalmente, na terceira parte, é explorada a sinergia entre heurísticas e métodos exatos, através da resolução ótima de sub-problemas em quadros de horários construídos heurísticamente, esses algoritmos híbridos ofereceram os melhores limites superiores disponíveis

    Generic CP-Supported CMSA for Binary Integer Linear Programs

    No full text
    Construct, Merge, Solve & Adapt (CMSA) is a general hybrid metaheuristic for solving combinatorial optimization problems. At each iteration, CMSA (1) constructs feasible solutions to the tackled problem instance in a probabilistic way and (2) solves a reduced problem instance (if possible) to optimality. The construction of feasible solutions is hereby problem-specific, usually involving a fast greedy heuristic. The goal of this paper is to design a problem-agnostic CMSA variant whose exclusive input is an integer linear program (ILP). In order to reduce the complexity of this task, the current study is restricted to binary ILPs. In addition to a basic problem-agnostic CMSA variant, we also present an extended version that makes use of a constraint propagation engine for constructing solutions. The results show that our technique is able to match the upper bounds of the standalone application of CPLEX in the context of rather easy-to-solve instances, while it generally outperforms the standalone application of CPLEX in the context of hard instances. Moreover, the results indicate that the support of the constraint propagation engine is useful in the context of problems for which finding feasible solutions is rather difficult

    Automatic integer programming reformulation using variable neighborhood search.

    No full text
    Chvatal-Gomory cuts are well-known cutting planes for Integer Programming problems. As shown in previous works, the inclusion of these cuts allows to significantly reducing the integrality gap. This work presents a Local Search heuristic approach based on Variable Neighborhood Search to discover violated Chv`atal-Gomory inequalities. Since this problem is known to be NP-hard, this approach was designed to generate violated inequalities in restricted amounts of time. Constraints are grouped in several sets, considering the amount of common variables. These sets are processed in parallel in order to obtain the best multipliers and produce violated cuts. We report some preliminary results obtained for MIPLIB 3.0 and 2003 instance sets, comparing our approach with an integer programming based separation method. Our algorithm was able to separate many violated inequalities, reducing the duality gap. Furthermore, it uses an extended numerical precision implementation, since it is not specifically bound to simplex based solvers

    A computational study of conflict graphs and aggressive cut separation in integer programming.

    No full text
    This work explores the fast creation of densely populated conflict graphs at the root node of the search tree for integer programs. We show that not only the Generalized Upper Bound (GUB) constraints are useful for the fast detection of cliques: these can also be quickly detected in less structured constraints in O(n log n). Routines for the aggressive separation and lifting of cliques and odd-holes are proposed. Improved bounds and a faster convergence to strong bounds were observed when comparing to the default separation routines found in the current version of the COmputation INfrastructure for Operations Research (COIN-OR) Branch and Cut solver

    Tutorial de desenvolvimento de m?todos de programa??o linear inteira mista em PYTHON usando o pacote PYTHON-MIP.

    No full text
    O pacote Python-MIP oferece um conjunto abrangente de ferramentas para modelagem e resolu??o de Problemas de Programa??o Inteira Mista em Python. Al?m de oferecer uma linguagem de modelagem de alto n?vel, o pacote permite o desenvolvimento de m?todos avan?ados, habilitando a comunica??o bidirecional com o pacote de otimiza??o durante o processo de busca. Neste tutorial, desenvolveremos m?todos de Programa??o Linear Inteira Mista para o Problema do Caixeiro Viajante. Iniciando com um m?todo simples baseado em uma formula??o compacta iremos evoluir para um m?todo que combina heur?sticas e planos de corte para a resolu??o de problemas maiores.The Python-MIP package offers a comprehensive set of tools for the modeling and solution of Integer Linear Programming Problems in Python. Besides providing a high level modeling language, the package allows the development of advanced solvers with bidirectional communication with the solver during the search process. In this tutorial we develop solvers for the Traveling Salesman Problem. Starting with a simple solver based on a compact formulation we evolve to a solver combining heuristics and cutting planes for the solution of larger instances
    corecore