Feasibility Pump Algorithm for Mixed-Integer Programming
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Mixed-integer programming algorithms, such as the feasibility pump, often suffer from cycling issues that lead to fast convergence to local optima, necessitating the need for improved methods to escape local minima and find global optima efficiently.
Innovation Solution
Embedding feasibility pump techniques within a Monte Carlo simulation framework, specifically using simulated annealing, to proactively randomize the search space and guide the solution towards the global optimum, utilizing FPGA or ASIC hardware for enhanced performance.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If the feasibility pump algorithm is used to solve mixed-integer programming problems, then the algorithm converges quickly to a solution, but it gets trapped in local optima due to cycling issues
Solution Approach 1:
The patent applies dynamics by making the perturbation mechanism adaptive rather than static. The algorithm dynamically adjusts the perturbation strategy based on detected cycling patterns, switching between different perturbation techniques (random perturbation, targeted perturbation, and hybrid perturbation) to maintain effectiveness as the search progresses and to escape from local optima.
Solution Approach 2:
The patent changes parameters by introducing a suite of perturbation parameters that control the search behavior. These include the perturbation probability parameter that controls how often perturbation is applied, and the perturbation magnitude parameter that controls the size of changes made to escape cycling patterns and local optima.
2Reliability
If perturbation techniques are used to escape local minima, then the algorithm can diversify the search space, but the convergence speed decreases due to reactive approach
Solution Approach 1:
The patent applies preliminary action by proactively implementing perturbation techniques before the algorithm gets trapped in cycling patterns or local optima. Rather than waiting for cycling to be detected and then reacting, the algorithm preemptively applies perturbation strategies to maintain diversity in the search and prevent stagnation, thereby preserving convergence speed while ensuring reliability.
Solution Approach 2:
The patent applies periodic action by implementing perturbation at regular intervals during the search process. The algorithm periodically applies perturbation to the current solution to maintain exploration capability, ensuring that the search does not become too greedy and miss potentially better regions of the solution space.
3Ease of manufacture
If conventional CMOS hardware is used for solving MIP problems, then the implementation is straightforward, but the solving speed is insufficient for complex problems
Solution Approach 1:
The patent applies mechanics substitution by replacing conventional CMOS hardware with alternative computing paradigms. Specifically, the invention implements the feasibility pump algorithm on FPGAs (Field-Programmable Gate Arrays) and ASICs (Application-Specific Integrated Circuits), which provide parallel processing capabilities and customizability that dramatically accelerate the solving of mixed-integer programming problems compared to general-purpose CMOS processors.
Data Source
AI summary
A method and a system are disclosed for solving a mixed-integer programming problem, the method comprising obtaining an indication of a mixed-integer programming optimization problem; until a performance criterion is met: providing the mixed-integer programming optimization problem to an optimization oracle adapted for solving the mixed-integer programming optimization problem using a feasibility pump technique and comprising an optimization solver, initializing parameters of an optimization oracle and an initial solution pair, the parameters comprising Monte-Carlo simulation parameters, a list of neighborhood functions and a measure of fractionality, and performing iterative calls to the optimization solver until a stopping condition is met; and providing at least one corresponding solution obtained from the optimization solver.


