LECTURE 1: INTRODUCTION

Similar documents
Technische Universität München, Zentrum Mathematik Lehrstuhl für Angewandte Geometrie und Diskrete Mathematik. Combinatorial Optimization (MA 4502)

CHAPTER 3 FUNDAMENTALS OF COMPUTATIONAL COMPLEXITY. E. Amaldi Foundations of Operations Research Politecnico di Milano 1

Exercises NP-completeness

The P versus NP Problem. Ker-I Ko. Stony Brook, New York

NP-complete problems. CSE 101: Design and Analysis of Algorithms Lecture 20

Connection MATH Connection. Benjamin V.C. Collins, James A. Swenson MATH 2730

Data Structures in Java

D1 Discrete Mathematics The Travelling Salesperson problem. The Nearest Neighbour Algorithm The Lower Bound Algorithm The Tour Improvement Algorithm

Circuits. CSE 373 Data Structures

Traveling Salesman Problem

Hamiltonian Graphs Graphs

Optimization Prof. A. Goswami Department of Mathematics Indian Institute of Technology, Kharagpur. Lecture - 20 Travelling Salesman Problem

Applied Integer Programming: Modeling and Solution

Chapter 3: Discrete Optimization Integer Programming

Hamiltonian Cycle. Zero Knowledge Proof

CS 320, Fall Dr. Geri Georg, Instructor 320 NP 1

Bounds on the Traveling Salesman Problem

Combinatorial optimization problems

Introduction to Mathematical Programming IE406. Lecture 21. Dr. Ted Ralphs

Algorithms Re-Exam TIN093/DIT600

NP-Complete and Non-Computable Problems. COMP385 Dr. Ken Williams

15.083J/6.859J Integer Optimization. Lecture 2: Efficient Algorithms and Computational Complexity

Algorithms and Theory of Computation. Lecture 22: NP-Completeness (2)

Lecture 4: NP and computational intractability

CS Algorithms and Complexity

Introduction. An Introduction to Algorithms and Data Structures

Automata Theory CS Complexity Theory I: Polynomial Time

13.1 Nondeterministic Polynomial Time

More NP-Complete Problems

New Integer Programming Formulations of the Generalized Travelling Salesman Problem

Algorithms and Theory of Computation. Lecture 19: Class P and NP, Reduction

Implementation of Travelling Salesman Problem Using ant Colony Optimization

Node Edge Arc Routing Problems (NEARP)

Optimisation and Operations Research

Algorithms and Complexity theory

CS 350 Algorithms and Complexity

CS 350 Algorithms and Complexity

TRAVELING SALESMAN PROBLEM WITH TIME WINDOWS (TSPTW)

Travelling Salesman Problem

Lecture 6 January 21, 2013

15-451/651: Design & Analysis of Algorithms October 31, 2013 Lecture #20 last changed: October 31, 2013

IS703: Decision Support and Optimization. Week 5: Mathematical Programming. Lau Hoong Chuin School of Information Systems

Data Structures and Algorithms (CSCI 340)

P P P NP-Hard: L is NP-hard if for all L NP, L L. Thus, if we could solve L in polynomial. Cook's Theorem and Reductions

Polynomial-time Reductions

Combinatorial Optimization

Scheduling and Optimization Course (MPRI)

1 Reductions and Expressiveness

Introduction to Integer Programming

Algorithms, Lecture 3 on NP : Nondeterminis7c Polynomial Time

NP Completeness. CS 374: Algorithms & Models of Computation, Spring Lecture 23. November 19, 2015

Branch-and-Bound. Leo Liberti. LIX, École Polytechnique, France. INF , Lecture p. 1

4/12/2011. Chapter 8. NP and Computational Intractability. Directed Hamiltonian Cycle. Traveling Salesman Problem. Directed Hamiltonian Cycle

Graph Theory and Optimization Computational Complexity (in brief)

Limits to Approximability: When Algorithms Won't Help You. Note: Contents of today s lecture won t be on the exam

Week 4. (1) 0 f ij u ij.

Asymmetric Traveling Salesman Problem (ATSP): Models

Computational complexity theory

P, NP, NP-Complete. Ruth Anderson

The Ellipsoid (Kachiyan) Method

CS 583: Algorithms. NP Completeness Ch 34. Intractability

NP-Completeness. Until now we have been designing algorithms for specific problems

Algorithm Design and Analysis

Determine the size of an instance of the minimum spanning tree problem.

Problem Complexity Classes

Maximum Flow Problem (Ford and Fulkerson, 1956)

Algorithm Design and Analysis

Lecture 8 Network Optimization Algorithms

NP-Completeness. CptS 223 Advanced Data Structures. Larry Holder School of Electrical Engineering and Computer Science Washington State University

Spatial Thinking and Modeling of Network-Based Problems

15.081J/6.251J Introduction to Mathematical Programming. Lecture 24: Discrete Optimization

Unit 1A: Computational Complexity

CS5371 Theory of Computation. Lecture 18: Complexity III (Two Classes: P and NP)

Week 8. 1 LP is easy: the Ellipsoid Method

Exam EDAF May 2011, , Vic1. Thore Husfeldt

Introduction to optimization and operations research

Computational complexity theory

July 18, Approximation Algorithms (Travelling Salesman Problem)

4. LIMITS OF COMPUTATION: Tractable and Intractable Problems

FINAL EXAM PRACTICE PROBLEMS CMSC 451 (Spring 2016)

Chapter 3: Discrete Optimization Integer Programming

UCSD CSE 21, Spring 2014 [Section B00] Mathematics for Algorithm and System Analysis

Introduction to Complexity Theory

CS483 Design and Analysis of Algorithms

Easy Problems vs. Hard Problems. CSE 421 Introduction to Algorithms Winter Is P a good definition of efficient? The class P

Notes for Lecture 21

Finding optimal configurations ( combinatorial optimization)

CS599: Convex and Combinatorial Optimization Fall 2013 Lecture 17: Combinatorial Problems as Linear Programs III. Instructor: Shaddin Dughmi

Partial Path Column Generation for the Vehicle Routing Problem with Time Windows

Resource Constrained Project Scheduling Linear and Integer Programming (1)

AS and A level Further mathematics contents lists

Discrete (and Continuous) Optimization WI4 131

Topics in Complexity Theory

16.410/413 Principles of Autonomy and Decision Making

Week Cuts, Branch & Bound, and Lagrangean Relaxation

Lecture 3. 1 Polynomial-time algorithms for the maximum flow problem

ON COST MATRICES WITH TWO AND THREE DISTINCT VALUES OF HAMILTONIAN PATHS AND CYCLES

Integer Programming ISE 418. Lecture 8. Dr. Ted Ralphs

Unit 7 Day 4 Section 4.5 & Practice Hamiltonian Circuits and Paths

BBM402-Lecture 11: The Class NP

Transcription:

LECTURE 1: INTRODUCTION

What is a Network?

What is a Network?

What is the meaning of Network Flows? In our course, a network G=(N,A) consists of a finite number of nodes (in N) which are connected by arcs (in A) and there may associate some capacity and cost with each arc and node. Commodities, information, cash, manpower etc. are moving from one node to another along the arcs subject to capacity and other constraints.

Where Network Flows Arise? Transportation Transportation of goods over transportation networks Scheduling of fleets of airplanes: time/space networks Manufacturing Scheduling of goods for manufacturing Flow of manufactured items within inventory systems Communications Design and expansion of communication systems Flow of information across networks Personnel Assignment Assignment of crews to airline schedules Assignment of drivers to vehicles Other Networks: Power, Hydraulic, Electric,

What is Network Optimization about? Network optimization deals with problems with at least one objective function to be optimized over a network structure.

What s Special about Network Optimization? Network optimization lies in the middle of the great divide that separates the continuous and discrete optimization problems. It strongly ties linear programming and combinatorial optimization the extreme points of the underlying polyhedron are of integer values and represent solutions of combinatorial problems that are seemingly unrelated to linear programming. Network models provide ideal vehicles for explaining many of the fundamental ideas in both continuous and discrete optimization.

Example 1

Example 2 from s to t, subject to

Example 2 (cont.)

Example 3

What is Combinatorial Optimization? Combinatorial analysis is the mathematical study of the arrangement, grouping, ordering, or selection of discrete objects, usually finite in number. Traditionally, combinatorialists have been concerned with questions of existence or of enumeration. Recently, a new line of combinatorial investigation has gained increasing importance. The question asked is What is a best arrangement?

Some Representative Optimization Problems

Some Representative Optimization Problems

Some Representative Optimization Problems

When is a problem solved? A combinatorial problem is NOT solved if we cannot live long enough to see the answer! The challenge is to develop algorithms for which the required number of elementary operations is acceptably small polynomial time algorithms!

The Criterion of Polynomial Boundedness One generally accepted standard in the realm of combinatorial optimization is that of polynomial boundedness. An algorithm is considered good if the required number of elementary computational steps is bounded by a polynomial in the size of the problem. The size of a problem instance is the number of bits required to encode it.

Size of Problem - Example

Polynomial Time Algorithm An algorithm runs in polynomial time if the number of steps taken by an algorithm on any instance I is bounded by a polynomial in the size of I. An algorithm runs in exponential time if it does not run in polynomial time.

Solution Methods Linear Programming Recursion and Enumeration Heuristics/Soft Computing Statistical Sampling Special and Ad Hoc Techniques

An old problem in history

Step 1

Step 2

Step 3

Step 4

Step 5 What s your answer? Why? Can you make it work? How? What s the insight? Can you generalize it?

Theorem An undirected graph has an Eulerian cycle if and only if (i) every node degree is even, (ii) the graph is connected (i.e., there is a path from each node to each other node).

Another old problem in history In 1857, the Irish mathematician, Sir William Rowan Hamilton invented a puzzle that he hoped would be very popular. A Hamiltonian cycle is a cycle that passes through each node of the graph exactly once. This is often called a traveling salesman tour.

Hamilton s Around the World Game The objective was to construct a Hamiltonian cycle. The game was not a commercial success, but the mathematics of traveling salesman is very popular today

Polynomial Time Algorithm An algorithm runs in polynomial time if the number of steps taken by an algorithm on any instance I is bounded by a polynomial in the size of I. One can find an Eulerian cycle in O(m) steps. An algorithm runs in exponential time if it does not run in polynomial time. There is no polynomial time algorithm known for finding a Hamiltonian cycle.

Exercise Knight s Tour Problem Can a knight visit all squares of a chessboard exactly once, starting at some square, and by making 63 legitimate moves? Hint: The knight s tour problem is a special case of the Hamiltonian tour problem.