mixed integer programming algorithms and applications
play

Mixed Integer Programming: Algorithms and Applications Julia - PowerPoint PPT Presentation

Motivation Mixed Integer Programming Application in Cryptanalysis Example A2U2 Conclusion Mixed Integer Programming: Algorithms and Applications Julia Borghoff Mykonos May 2012 1 / 46 Motivation Mixed Integer Programming Application in


  1. Motivation Mixed Integer Programming Application in Cryptanalysis Example A2U2 Conclusion Mixed Integer Programming: Algorithms and Applications Julia Borghoff Mykonos May 2012 1 / 46

  2. Motivation Mixed Integer Programming Application in Cryptanalysis Example A2U2 Conclusion Outline Motivation 1 Mixed Integer Programming 2 Definition Basic algorithms for integer optimization Application in Cryptanalysis 3 Conversion Methods Other MIP parameters Features Example A2U2 4 The Cipher Attack Conclusion 5 References 2 / 46

  3. Motivation Mixed Integer Programming Application in Cryptanalysis Example A2U2 Conclusion Motivation for using optimization in cryptography Cryptographic site cryptographic problems can often be described as a set of non-linear Boolean equations ⇒ algebraic attacks solver for non-linear Boolean equations (algebraic attacks) often not successful ⇒ need for new solvers Optimization of great industrial interest ⇒ many well-develop algorithms/solver available additional feature such as use of probabilistic equations use of inequalities possibility of minimizing distances etc. 3 / 46

  4. Motivation Mixed Integer Programming Application in Cryptanalysis Example A2U2 Conclusion Which approach to use? Optimization is a big field meta-heuristics simulated annealing tabu search etc. evolutionary/genetic algorithms constrained programming linear programming mixed-integer linear programming non-linear optimization non-smooth optimization 4 / 46

  5. Motivation Mixed Integer Programming Application in Cryptanalysis Example A2U2 Conclusion Which approach to use? Optimization is a big field meta-heuristics simulated annealing tabu search etc. evolutionary/genetic algorithms constrained programming linear programming mixed-integer linear programming non-linear optimization non-smooth optimization 4 / 46

  6. Motivation Mixed Integer Programming Application in Cryptanalysis Example A2U2 Conclusion Outline Motivation 1 Mixed Integer Programming 2 Definition Basic algorithms for integer optimization Application in Cryptanalysis 3 Conversion Methods Other MIP parameters Features Example A2U2 4 The Cipher Attack Conclusion 5 References 5 / 46

  7. Motivation Mixed Integer Programming Application in Cryptanalysis Example A2U2 Conclusion Definition What is a constrained optimization problem? Given: a set of variables an objective function a set of constraints Find the best solution for the objective function in the set of solution that satisfy the constraints. Constraints can be e.g.: equations inequalities linear or non-linear restrictions on the type of a variable 6 / 46

  8. Motivation Mixed Integer Programming Application in Cryptanalysis Example A2U2 Conclusion Definition Mixed Integer Linear Programming Problem (MILP/MIP) A linear mixed-integer linear programming problem (MILP/MIP) is a problem of the form min x cx subject to Ax ≤ b where x ∈ Z n × R p Important: objective function and all constraints are linear some variables are integers, some variables are continuous 7 / 46

  9. Motivation Mixed Integer Programming Application in Cryptanalysis Example A2U2 Conclusion Definition Special cases Linear programming problem (LP) : all variables are continuous = ⇒ efficiently solvable Integer programming problem (IP) : all variables are restricted to be integer. 0-1 Integer programming problem (BIP) : all variables are restricted to be binary. 8 / 46

  10. Motivation Mixed Integer Programming Application in Cryptanalysis Example A2U2 Conclusion Definition Feasible Solution The set S of all x ∈ Z n × R p which satisfy the linear constraints Ax ≤ b S = { x ∈ Z n × R p , Ax ≤ b } is called feasible set . An element x ∈ S is called feasible solution . 9 / 46

  11. Motivation Mixed Integer Programming Application in Cryptanalysis Example A2U2 Conclusion Definition Problem types Optimization Problem Find a solution in the feasible set that yields the best objective value. Feasibility Problem Find an element that satisfies all constraints and restrictions,i.e., find an element in the feasible set. 10 / 46

  12. Motivation Mixed Integer Programming Application in Cryptanalysis Example A2U2 Conclusion Basic algorithms for integer optimization Three different approaches Branch and Bound Cutting Plane = ⇒ optimal solution Feasibility Pump = ⇒ feasible solution 11 / 46

  13. Motivation Mixed Integer Programming Application in Cryptanalysis Example A2U2 Conclusion Basic algorithms for integer optimization LP-relaxation LP constraints form a polytope IP feasible set is given by set of all integer-valued points within the polytope = ⇒ feasible set of IP ⊂ feasible set of LP 12 / 46

  14. Motivation Mixed Integer Programming Application in Cryptanalysis Example A2U2 Conclusion Basic algorithms for integer optimization LP-relaxation LP constraints form a polytope IP feasible set is given by set of all integer-valued points within the polytope = ⇒ feasible set of IP ⊂ feasible set of LP Definition (LP-relaxation) The LP-relaxation of a MIP or IP is obtain by removing the integer constraints on all variables. e.g. in the binary case replace x ∈ { 0 , 1 } by 0 ≤ x ≤ 1 12 / 46

  15. Motivation Mixed Integer Programming Application in Cryptanalysis Example A2U2 Conclusion Basic algorithms for integer optimization The branch-and-bound algorithm Tree search where the tree is built using three main steps Branch Pick a variable and divide the problem in two subproblems at this variable. (e.g. if x ∈ { 0 , 1 } solve the problem with x = 0 and the problem x = 1) Bound Solve the LP-relaxation to determine the best possible objective value for the node Prune Prune the branch of the tree (i.e. the tree will not be develop any further in this node) if the subproblem is infeasible the best achievable objective value is worse than a known optimum 13 / 46

  16. Motivation Mixed Integer Programming Application in Cryptanalysis Example A2U2 Conclusion Basic algorithms for integer optimization Branch-and-bound - a binary example min − x 1 + x 2 − 2 x 3 + x 4 − x 5 -3.1 subject to x 1 + x 2 ≤ 1 x 1 − 5 x 2 + x 3 ≤ 2 2 x 3 + 2 x 4 − 4 x 5 ≤ 1 x 2 − 2 x 4 + x 5 ≤ 0 { 0 , 1 } 5 x ∈ solve the linear problem 14 / 46

  17. Motivation Mixed Integer Programming Application in Cryptanalysis Example A2U2 Conclusion Basic algorithms for integer optimization Branch-and-bound - a binary example min − x 1 + x 2 − 2 x 3 + x 4 − x 5 -3.1 subject to x 1 + x 2 ≤ 1 0 1 x 1 − 5 x 2 + x 3 ≤ 2 2 x 3 + 2 x 4 − 4 x 5 ≤ 1 x 2 -1 -2.5 x 2 − 2 x 4 + x 5 ≤ 0 { 0 , 1 } 5 x ∈ solve the linear problem pick a variable for which the solution violates the binary constraint. Branch 14 / 46

  18. Motivation Mixed Integer Programming Application in Cryptanalysis Example A2U2 Conclusion Basic algorithms for integer optimization Branch-and-bound - a binary example min − x 1 + x 2 − 2 x 3 + x 4 − x 5 -3.1 subject to x 1 + x 2 ≤ 1 0 1 x 1 − 5 x 2 + x 3 ≤ 2 2 x 3 + 2 x 4 − 4 x 5 ≤ 1 x 2 -1 -2.5 x 2 − 2 x 4 + x 5 ≤ 0 { 0 , 1 } 5 x ∈ Fathoming : the best solution is already a feasible solution in an early state of the tree Incumbent :best feasible solution found so far 14 / 46

  19. Motivation Mixed Integer Programming Application in Cryptanalysis Example A2U2 Conclusion Basic algorithms for integer optimization Branch-and-bound - a binary example min − x 1 + x 2 − 2 x 3 + x 4 − x 5 -3.1 subject to x 1 + x 2 ≤ 1 0 1 x 1 − 5 x 2 + x 3 ≤ 2 2 x 3 + 2 x 4 − 4 x 5 ≤ 1 x 2 -1 -2.5 -2.5 x 2 − 2 x 4 + x 5 ≤ 0 { 0 , 1 } 5 x ∈ 0 1 choose the most promising -1.5 -2.5 x 3 node 14 / 46

  20. Motivation Mixed Integer Programming Application in Cryptanalysis Example A2U2 Conclusion Basic algorithms for integer optimization Branch-and-bound - a binary example min − x 1 + x 2 − 2 x 3 + x 4 − x 5 -3.1 subject to x 1 + x 2 ≤ 1 0 1 x 1 − 5 x 2 + x 3 ≤ 2 2 x 3 + 2 x 4 − 4 x 5 ≤ 1 x 2 -1 -2.5 -2.5 x 2 − 2 x 4 + x 5 ≤ 0 { 0 , 1 } 5 x ∈ 0 1 node can be pruned if it -1.5 -2.5 -2.5 x 3 won’t yield a better 0 1 solution than the incumbent or if it violates x 4 -2 a constraint 14 / 46

  21. Motivation Mixed Integer Programming Application in Cryptanalysis Example A2U2 Conclusion Basic algorithms for integer optimization Branch-and-bound - a binary example min − x 1 + x 2 − 2 x 3 + x 4 − x 5 -3.1 subject to x 1 + x 2 ≤ 1 0 1 x 1 − 5 x 2 + x 3 ≤ 2 2 x 3 + 2 x 4 − 4 x 5 ≤ 1 x 2 -1 -2.5 -2.5 x 2 − 2 x 4 + x 5 ≤ 0 { 0 , 1 } 5 x ∈ 0 1 the optimal solution is -1.5 -2.5 -2.5 x 3 found when tree cannot 0 1 grow further x 4 -2 14 / 46

  22. Motivation Mixed Integer Programming Application in Cryptanalysis Example A2U2 Conclusion Basic algorithms for integer optimization Cutting plane algorithm Idea: iterative reduction of the feasible region solve LP-relaxation and obtain fractional solution add a new constraint (cut) that removes the fractional solution from the feasible set of the LP-relaxation 15 / 46

  23. Motivation Mixed Integer Programming Application in Cryptanalysis Example A2U2 Conclusion Basic algorithms for integer optimization Cutting plane - an example Two dimensional example linear constraints both variables are integers 16 / 46

Recommend


More recommend