Mixed Integer Linear Programming

Similar documents
Chapter 10 Part 1: Reduction

2SAT Andreas Klappenecker

8.1 Polynomial-Time Reductions

1.4 Normal Forms. We define conjunctions of formulas as follows: and analogously disjunctions: Literals and Clauses

Example of a Demonstration that a Problem is NP-Complete by reduction from CNF-SAT

CS February 17

Decision Procedures. An Algorithmic Point of View. Decision Procedures for Propositional Logic. D. Kroening O. Strichman.

Mathematical Logic Prof. Arindama Singh Department of Mathematics Indian Institute of Technology, Madras. Lecture - 9 Normal Forms

Implementation of a Sudoku Solver Using Reduction to SAT

Combinatorial Optimization

Learning a SAT Solver from Single-

Boolean Functions (Formulas) and Propositional Logic

SAT Solver. CS 680 Formal Methods Jeremy Johnson

Linear Time Unit Propagation, Horn-SAT and 2-SAT

Propositional Calculus: Boolean Algebra and Simplification. CS 270: Mathematical Foundations of Computer Science Jeremy Johnson

! Greed. O(n log n) interval scheduling. ! Divide-and-conquer. O(n log n) FFT. ! Dynamic programming. O(n 2 ) edit distance.

NP-Completeness of 3SAT, 1-IN-3SAT and MAX 2SAT

Parallel and Distributed Computing

Chapter 8. NP and Computational Intractability. Slides by Kevin Wayne. Copyright 2005 Pearson-Addison Wesley. All rights reserved.

To prove something about all Boolean expressions, we will need the following induction principle: Axiom 7.1 (Induction over Boolean expressions):

! Greed. O(n log n) interval scheduling. ! Divide-and-conquer. O(n log n) FFT. ! Dynamic programming. O(n 2 ) edit distance.

NP-Complete Reductions 2

Propositional logic (Ch. 7)

PROPOSITIONAL LOGIC (2)

8 NP-complete problem Hard problems: demo

Computer-Aided Program Design

The Satisfiability Problem [HMU06,Chp.10b] Satisfiability (SAT) Problem Cook s Theorem: An NP-Complete Problem Restricted SAT: CSAT, k-sat, 3SAT

Definition: A context-free grammar (CFG) is a 4- tuple. variables = nonterminals, terminals, rules = productions,,

Homework 1. Due Date: Wednesday 11/26/07 - at the beginning of the lecture

To prove something about all Boolean expressions, we will need the following induction principle: Axiom 7.1 (Induction over Boolean expressions):

NP and computational intractability. Kleinberg and Tardos, chapter 8

SAT-CNF Is N P-complete

Propositional Calculus: Boolean Functions and Expressions. CS 270: Mathematical Foundations of Computer Science Jeremy Johnson

Online Appendix: A Stackelberg Game Model for Botnet Data Exfiltration

SAT Solvers. Ranjit Jhala, UC San Diego. April 9, 2013

Seminar decision procedures: Certification of SAT and unsat proofs

DM841 DISCRETE OPTIMIZATION. Part 2 Heuristics. Satisfiability. Marco Chiarandini

NP-Completeness. Algorithms

Constraint Solving. Systems and Internet Infrastructure Security

Propositional Calculus. Math Foundations of Computer Science

Informatics 1 - Computation & Logic: Tutorial 3

1 Inference for Boolean theories

Deductive Methods, Bounded Model Checking

Notes. Notes. Introduction. Notes. Propositional Functions. Slides by Christopher M. Bourke Instructor: Berthe Y. Choueiry.

Disjunctive and Conjunctive Normal Forms in Fuzzy Logic

Foundations of AI. 9. Predicate Logic. Syntax and Semantics, Normal Forms, Herbrand Expansion, Resolution

Binary Decision Diagrams

What's the difference between the entailment symbol with the equals vs the entailment symbol with one line? Single turnstile meaning

(a) (4 pts) Prove that if a and b are rational, then ab is rational. Since a and b are rational they can be written as the ratio of integers a 1

Section 1.1 Logic LOGIC

Where Can We Draw The Line?

8.1 Polynomial-Time Reductions

Answer Key #1 Phil 414 JL Shaheen Fall 2010

Decision Procedures in the Theory of Bit-Vectors

Finite Model Generation for Isabelle/HOL Using a SAT Solver

The Resolution Algorithm

Lecture 14: Lower Bounds for Tree Resolution

W4231: Analysis of Algorithms

Information Science 1

Introduction. The Quine-McCluskey Method Handout 5 January 24, CSEE E6861y Prof. Steven Nowick

Reductions. Linear Time Reductions. Desiderata. Reduction. Desiderata. Classify problems according to their computational requirements.

COMP4418 Knowledge Representation and Reasoning

Propositional Calculus. CS 270: Mathematical Foundations of Computer Science Jeremy Johnson

Software Engineering Lecture Notes

CMPUT 366 Intelligent Systems

Resolution in FO logic (Ch. 9)

Reductions and Satisfiability

Normal Forms for Boolean Expressions

Chapter 6 Primitive types

P -vs- NP. NP Problems. P = polynomial time. NP = non-deterministic polynomial time

CA4003 Compiler Construction Assignment Language Definition

TA: Jade Cheng ICS 241 Recitation Lecture Notes #12 November 13, 2009

CS 580: Algorithm Design and Analysis

3/7/2018. CS 580: Algorithm Design and Analysis. 8.1 Polynomial-Time Reductions. Chapter 8. NP and Computational Intractability

CS 512, Spring 2017: Take-Home End-of-Term Examination

Some Hardness Proofs

Unit 8: Coping with NP-Completeness. Complexity classes Reducibility and NP-completeness proofs Coping with NP-complete problems. Y.-W.

Algorithms for SAT and k-sat problems

Parallelizing SAT Solver With specific application on solving Sudoku Puzzles

Satisfiability. Michail G. Lagoudakis. Department of Computer Science Duke University Durham, NC SATISFIABILITY

CS40-S13: Functional Completeness

Example: Map coloring

Module 6. Knowledge Representation and Logic (First Order Logic) Version 2 CSE IIT, Kharagpur

Logic Informatics 1 Functional Programming: Tutorial 6

NP-complete Reductions

CS446: Machine Learning Fall Problem Set 4. Handed Out: October 17, 2013 Due: October 31 th, w T x i w

P and NP CISC4080, Computer Algorithms CIS, Fordham Univ. Instructor: X. Zhang

CSP- and SAT-based Inference Techniques Applied to Gnomine

Introduction to Boolean logic and Logical Gates

CMPUT 366 Assignment 1

[Ch 6] Set Theory. 1. Basic Concepts and Definitions. 400 lecture note #4. 1) Basics

1 Definition of Reduction

Propositional Logic:

A Satisfiability Procedure for Quantified Boolean Formulae

Solving Boolean Equations with BDDs and Clause Forms. Gert Smolka

Decision Procedures in First Order Logic

A New Reduction from 3-SAT to Graph K- Colorability for Frequency Assignment Problem

P and NP CISC5835, Algorithms for Big Data CIS, Fordham Univ. Instructor: X. Zhang

Full CNF Encoding: The Counting Constraints Case

CSC2108: Automated Verification Assignment 1 - Solutions

Transcription:

Mixed Integer Linear Programming Part I Prof. Davide M. Raimondo

A linear program..

A linear program..

A linear program.. Does not take into account possible fixed costs related to the acquisition of new technologies (e.g. installation of semiautomatic and automatic assembling lines)

A linear program.. if then installation of semi-automatic line is 1000 if then installation of the automatic line is 2000

A linear program.. if then installation of semi-automatic line is 1000 if then installation of the automatic line is 2000 How to incorporate logical statements in the optimization?

Basic logic concepts A basic concept used in propositional logic is the statement (a.k.a. atomic proposition) A statement is either true (T) or false (F). Compound propositions can be obtained by connecting statements with logical connectives

Equivalences

Conjunctive Normal Form (CNF) A CNF is a conjunction of clauses, where a clause is a disjunction of literals

Conjunctive Normal Form (CNF) A CNF is a conjunction of clauses, where a clause is a disjunction of literals conjunction of clauses literals disjunction of literals

Conjunctive Normal Form (CNF) A CNF is a conjunction of clauses, where a clause is a disjunction of literals Every propositional formula can be converted into an equivalent formula that is in CNF.

Conjunctive Normal Form (CNF) A CNF is a conjunction of clauses, where a clause is a disjunction of literals Every propositional formula can be converted into an equivalent formula that is in CNF. Procedure Step 1: remove implications Step 2: use De Morgan s law and the double negation to absorb all «not» into the atomic statements Step 3: use the distributive law to move the conjunctions out of the statements until each statement is a clause of pure disjunctions

Conjunctive Normal Form (CNF) A CNF is a conjunction of clauses, where a clause is a disjunction of literals Every propositional formula can be converted into an equivalent formula that is in CNF. Procedure Step 1: remove implications Step 2: use De Morgan s law and the double negation to absorb all «not» into the atomic statements Step 3: use the distributive law to move the conjunctions out of the statements until each statement is a clause of pure disjunctions

Translation of Logic Rules into Linear Integer Inequalitites Associate to each boolean variable a binary integer variable Then, a logic proposition in CNF can be expressed in terms of linear integer inequalities, since

Translation of Logic Rules into Linear Integer Inequalitites Example: The above proposition is true iff

Combining logic rules and continuous data Consider the quantity which represents the k-th row of Ax-b Assume this admits both a lower and an upper bound Then, it holds that: 1)

Combining logic rules and continuous data Consider the quantity which represents the k-th row of Ax-b Assume this admits both a lower and an upper bound Then, it holds that: 2)

Combining logic rules and continuous data Consider the quantity which represents the k-th row of Ax-b Assume this admits both a lower and an upper bound Then, it holds that: Very small number Machine precision 2.2204 e-16 3)

Combining logic rules and continuous data Consider the quantity which represents the k-th row of Ax-b Assume this admits both a lower and an upper bound Then, it holds that: 4)

Combining logic rules and continuous data Since for the equivalence one gets Thanks to all these properties, it is possible to translate the combination of logic rules and continuous information into mixed integer linear inequalities

Further properties Bilinear terms product between binary variables It relies on the introduction of a new binary variable product between a binary and a continous variable It relies on the introduction of a new continous variable The variable y can be expressed in terms of four inequalities

Back to the example! if then installation of semi-automatic line is 1000 if then installation of the automatic line is 2000 How to incorporate logical statements in the optimization?