CS4234 Optimization Algorithms Welcome!. CS4234 Overview Optimization Algorithms gilbert/CS4234 Instructor: Seth Gilbert.

Post on 28-Dec-2015

257 Views

Category:

Documents

5 Downloads

Preview:

Click to see full reader

Transcript

CS4234Optimization Algorithms

Welcome!

CS4234 Overview

Optimization Algorithmshttp://www.comp.nus.edu.sg/~gilbert/CS4234

Instructor: Seth GilbertOffice: COM2-323

Office hours: by appointment

Optimization:Find the minimum/maximum…

Optimization Algorithms

Optimization:Find the minimum/maximum:

Discrete: a collection of items

Optimization Algorithms

Optimization:Find the minimum/maximum:

Discrete: a collection of items

Combinatorial: a collection of items

generated by counting, combining, and

enumerating.

Optimization Algorithms

Optimization:Find the minimum/maximum:

Discrete: a collection of items

Combinatorial: a collection of items

generated by counting, combining, and

enumerating.

Examples:Graphs

Matroids

Similar structures…

Optimization Algorithms

Find the “best” item in a large set of items:

Problem Set of items Size DifficultySearching List of integersLinear Easy

Shortest paths All paths in a graph Exponential Easy

Minimum spanning tree All spanning trees ExponentialEasy

Steiner tree All steiner trees Exponential Hard

Travelling salesman All possible tours Exponential Hard

Matching All possible matchings Exponential Easy

Bipartite vertex cover All possible covers Exponential Easy

Vertex cover All possible covers Exponential Hard

Maximum clique All possible subsets Exponential Very Hard

Combinatorial Optimization

Find the “best” item in a large set of items:

Problem DifficultyMaintain student records Easy

Data compression Easy

Program halting problem Impossible

VLSI chip layout Hard

Exam timetable scheduling Hard

Job assignment problem Easy

Computer deadlock problem Easy

Finding patterns in a database Easy

Combinatorial Optimization

Operations Research:How to make better decisions (e.g., maximize profit)

Project planning / critical path analysis

Facility location: where to open stores / plants

Floorplanning: layout of factory or computer chips

Supply chain management

Berth assignment problem (BAP): port management

Assignment problems (e.g., weapon target assignment)

Routing / transportation problems: buses, subways, trucking.

Airline ticket pricing

Combinatorial Optimization

Optimization:Find the minimum/maximum:

Discrete: a collection of items

Combinatorial: a collection of items

generated by counting, combining, and

enumerating.

Continuous: given a function f(x), find the

vector x that maximizes f(x).

Optimization Algorithms

Optimization Algorithms

“If you need your software to run twice as fast, hire better programmers.

But if you need your software to run more than twice as fast, use a better algorithm.”

-- Software Lead at Microsoft

“... pleasure has probably been the main goal all along.

But I hesitate to admit it, because computer scientists want to maintain their image as hard-working individuals who deserve high salaries... ”

-- D. E. Knuth

“... pleasure has probably been the main goal all along.

But I hesitate to admit it, because computer scientists want to maintain their image as hard-working individuals who deserve high salaries... ”

-- D. E. Knuth

Brand new class: – We can make this class what we want.

– Talk to me about your goals, interests, etc.

CS4234 : Optimization Algorithms

Brand new class: – We can make this class what we want.

– Talk to me about your goals, interests, etc.

Where did this class come from?– CS5234: Combinatorial and Graph

Algorithms

– More general: all sorts of optimization (not only graphs).

– More specific: just optimization

CS4234 : Optimization Algorithms

Target students:– Advanced (3rd or 4th year) undergraduates

– Interested in algorithms

– Interested in tools for solving hard problems

Prerequisites: – CS3230 (Analysis of Algorithms)

– Mathematical fundamentals

Optimization Algorithms

Mid-term exam

October 6 In class

Final exam

November 25

Exams will be graded and returned.

CS4234 Overview

Grading

40% Problem sets

25% Mid-term exam

35% Final exam

Problem sets

– 5-6 sets (about every 1-2 weeks)

– Focused on algorithm design and analysis.

CS4234 Overview

Mini-Project

Small project

Idea: put together some of the different ideas we have used in the class.

Time scale: last 2-3 weeks of the semester.

CS4234 Overview

Released today/tomorrow

Survey: On IVLE.

What is your background?

Not more than 10 minutes.

PS1: Released tomorrow.

CS4234 Overview

Problem set grading

Simple scheme:

3 : excellent, perfect answer

2 : satisfactory, mostly right

1 : many mistakes / poorly written

0 : mostly wrong / not handed in

-1 : utter nonsense

CS4234 Overview

What to submit:

Concise and precise answers: Solutions should be rigorous, containing all necessary detail, but no more.

Algorithm descriptions consist of: 1. Summary of results/claims.

2. Description of algorithm in English.3. Pseudocode, if helpful. 4. Worked example of algorithm. 5. Diagram / picture. 6. Proof of correctness and performance analysis.

CS4234 Overview

How to draw pictures?

By hand:

Either submit hardcopy, or scan, or take a picture with your phone!

Or use a tablet / iPad…

Digitally: 1. xfig (ugh) 2. OmniGraffle (mac) 3. Powerpoint (hmmm)4. ???

CS4234 Overview

Policy on plagiarism:

Do your work yourself: Your submission should be unique, unlike

anything else submitted, on the web, etc.

Discuss with other students: 1. Discuss general approach and techniques.2. Do not take notes.

3. Spend 30 minutes on facebook (or equiv.).4. Write up solution on your own. 5. List all collaborators.

Do not search for solutions on the web:Use web to learn techniques and to review

material from class.

CS4234 Overview

Policy on plagiarism:

Penalized severely: First offense: minimum of one letter grade

lost on final grade for class (or referral to SoC disciplinary committee).

Second offense: F for the class and/or referral to SoC.

Do not copy/compare solutions!

CS4234 Overview

Introduction to Algorithms– Cormen, Leiserson, Rivest, Stein

– Recommended…

Textbooks

Algorithm Design– Kleinberg and Tardos

– Recommended…

Textbooks

Topics (tentative, TBD)

Introduction to combinatorial optimization Vertex cover, set cover, Steiner tree, TSP

Flows and matching Maximum flow, bipartite matching

Linear programming LPs, duality, relaxations, rounding

Continuous optimizationGradient descent, meta-heuristics

CS4234 Overview

top related