60 likes | 80 Views
Solution methods for NP-hard Discrete Optimization Problems. Three main directions to solve NP-hard discrete optimization problems: Integer programming techniques Approximation algorithms Heuristics On time-accuracy tradeoff schedule:. Integer programming. Approximation algorithms.
E N D
Three main directions to solve NP-hard discrete optimization problems: • Integer programming techniques • Approximation algorithms • Heuristics On time-accuracy tradeoff schedule: Integer programming Approximation algorithms Heuristics Brute force Most accuracy Least accuracy Worst time Best time
Heuristics • Based on common sense, intuition • Sometimes are based on physical, biological phenomena (e.g., simulated annealing, genetic algorithm) • Normally very time-efficient • No rigorous mathematical analysis • Don’t guarantee optimal solution • Hopefully will produce fairly good solutions at least some of the time Example: The nearest neighbor algorithm for TSP
Approximation Algorithms • Time-efficient (sometimes not as efficient as heuristics) • Don’t guarantee optimal solution • Guarantee good solution within some factor of the optimum • Rigorous mathematical analysis to prove the approximation guarantee • Often use algorithms for related problems as subroutines Later we will consider an approximation algorithm for TSP.
IP-based Solution Methods • Most discrete optimization problems can be formulated as integer programs • Guarantee optimal solution most of the time • Sometimes might be time-inefficient • Is the preferred method for most companies, especially with the advent of modern superfast computers We will consider IP-based solution methods in details.
Solving Integer Programs (IP) vs solving Linear Programs (LP) • The algorithms for solving LPs are much more time-efficient than the algorithms for IPs. • LP algorithms • Simplex Method • Interior-point methods • IP algorithms use the above-mentioned LP algorithms as subroutines. • Thus, we will start by recalling the main features of Simplex Method.