175,121 research outputs found
Survey on Combinatorial Register Allocation and Instruction Scheduling
Register allocation (mapping variables to processor registers or memory) and
instruction scheduling (reordering instructions to increase instruction-level
parallelism) are essential tasks for generating efficient assembly code in a
compiler. In the last three decades, combinatorial optimization has emerged as
an alternative to traditional, heuristic algorithms for these two tasks.
Combinatorial optimization approaches can deliver optimal solutions according
to a model, can precisely capture trade-offs between conflicting decisions, and
are more flexible at the expense of increased compilation time.
This paper provides an exhaustive literature review and a classification of
combinatorial optimization approaches to register allocation and instruction
scheduling, with a focus on the techniques that are most applied in this
context: integer programming, constraint programming, partitioned Boolean
quadratic programming, and enumeration. Researchers in compilers and
combinatorial optimization can benefit from identifying developments, trends,
and challenges in the area; compiler practitioners may discern opportunities
and grasp the potential benefit of applying combinatorial optimization
Convex Combinatorial Optimization
We introduce the convex combinatorial optimization problem, a far reaching
generalization of the standard linear combinatorial optimization problem. We
show that it is strongly polynomial time solvable over any edge-guaranteed
family, and discuss several applications
Combinatorial Assortment Optimization
Assortment optimization refers to the problem of designing a slate of
products to offer potential customers, such as stocking the shelves in a
convenience store. The price of each product is fixed in advance, and a
probabilistic choice function describes which product a customer will choose
from any given subset. We introduce the combinatorial assortment problem, where
each customer may select a bundle of products. We consider a model of consumer
choice where the relative value of different bundles is described by a
valuation function, while individual customers may differ in their absolute
willingness to pay, and study the complexity of the resulting optimization
problem. We show that any sub-polynomial approximation to the problem requires
exponentially many demand queries when the valuation function is XOS, and that
no FPTAS exists even for succinctly-representable submodular valuations. On the
positive side, we show how to obtain constant approximations under a
"well-priced" condition, where each product's price is sufficiently high. We
also provide an exact algorithm for -additive valuations, and show how to
extend our results to a learning setting where the seller must infer the
customers' preferences from their purchasing behavior
The matching relaxation for a class of generalized set partitioning problems
This paper introduces a discrete relaxation for the class of combinatorial
optimization problems which can be described by a set partitioning formulation
under packing constraints. We present two combinatorial relaxations based on
computing maximum weighted matchings in suitable graphs. Besides providing dual
bounds, the relaxations are also used on a variable reduction technique and a
matheuristic. We show how that general method can be tailored to sample
applications, and also perform a successful computational evaluation with
benchmark instances of a problem in maritime logistics.Comment: 33 pages. A preliminary (4-page) version of this paper was presented
at CTW 2016 (Cologne-Twente Workshop on Graphs and Combinatorial
Optimization), with proceedings on Electronic Notes in Discrete Mathematic
- …
