45 research outputs found
Optimal Decision Trees for the Algorithm Selection Problem: Integer Programming Based Approaches
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.
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
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.
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
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
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.
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.
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.
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