28,169 research outputs found

    Effective Heuristic Methods for Finding Non-Optimal Solutions of Interest in Constrained Optimization Models

    Get PDF
    This paper introduces the SoI problem, that of finding non-optimal solutions of interest for constrained optimization models. SoI problems subsume finding FoIs (feasible solutions of interest), and IoIs (infeasible solutions of interest). In all cases, the interest addressed is post-solution analysis in one form or another. Post-solution analysis of a constrained optimization model occurs after the model has been solved and a good or optimal solution for it has been found. At this point, sensitivity analysis and other questions of import for decision making (discussed in the paper) come into play and for this purpose the SoIs can be of considerable value. The paper presents examples that demonstrate this and reports on a systematic approach, using evolutionary computation, for obtaining both FoIs and IoIs

    Survey on Combinatorial Register Allocation and Instruction Scheduling

    Full text link
    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
    • …
    corecore