Heuristic Algorithms via VBA

Slides:



Advertisements
Similar presentations
O(N 1.5 ) divide-and-conquer technique for Minimum Spanning Tree problem Step 1: Divide the graph into  N sub-graph by clustering. Step 2: Solve each.
Advertisements

Shortest Paths Text Discrete Mathematics and Its Applications (5 th Edition) Kenneth H. Rosen Chapter 9.6 Based on slides from Chuck Allison, Michael T.
Lecture 24 Coping with NPC and Unsolvable problems. When a problem is unsolvable, that's generally very bad news: it means there is no general algorithm.
Reducibility Class of problems A can be reduced to the class of problems B Take any instance of problem A Show how you can construct an instance of problem.
Computability and Complexity 23-1 Computability and Complexity Andrei Bulatov Search and Optimization.
Approximation Algorithms: Combinatorial Approaches Lecture 13: March 2.
CSE 326: Data Structures NP Completeness Ben Lerner Summer 2007.
Analysis of Algorithms CS 477/677
MAE 552 – Heuristic Optimization Lecture 5 February 1, 2002.
The Traveling Salesperson Problem
Network Optimization Problems: Models and Algorithms
Programming & Data Structures
Algorithms for Network Optimization Problems This handout: Minimum Spanning Tree Problem Approximation Algorithms Traveling Salesman Problem.
Chapter 12 Coping with the Limitations of Algorithm Power Copyright © 2007 Pearson Addison-Wesley. All rights reserved.
Excursions in Modern Mathematics, 7e: Copyright © 2010 Pearson Education, Inc. 6 The Mathematics of Touring 6.1Hamilton Paths and Hamilton Circuits.
Complexity Classes (Ch. 34) The class P: class of problems that can be solved in time that is polynomial in the size of the input, n. if input size is.
Problem Solving with Networks 18/08/2012 Jamie Sneddon
Advanced Algorithm Design and Analysis (Lecture 13) SW5 fall 2004 Simonas Šaltenis E1-215b
MIT and James Orlin1 NP-completeness in 2005.
Excursions in Modern Mathematics, 7e: Copyright © 2010 Pearson Education, Inc. 6 The Mathematics of Touring 6.1Hamilton Paths and Hamilton Circuits.
CSE 024: Design & Analysis of Algorithms Chapter 9: NP Completeness Sedgewick Chp:40 David Luebke’s Course Notes / University of Virginia, Computer Science.
CSE332: Data Abstractions Lecture 24.5: Interlude on Intractability Dan Grossman Spring 2012.
Thursday, May 9 Heuristic Search: methods for solving difficult optimization problems Handouts: Lecture Notes See the introduction to the paper.
Introduction to Genetic Algorithms. Genetic Algorithms We’ve covered enough material that we can write programs that use genetic algorithms! –More advanced.
Lecture 6 NP Class. P = ? NP = ? PSPACE They are central problems in computational complexity.
Traveling Salesman Problem (TSP)
CIRCUITS, PATHS, AND SCHEDULES Euler and Königsberg.
Lecture 25 NP Class. P = ? NP = ? PSPACE They are central problems in computational complexity.
A Introduction to Computing II Lecture 16: Dijkstra’s Algorithm Fall Session 2000.
Approximation Algorithms
Management Science 461 Lecture 7 – Routing (TSP) October 28, 2008.
Retail Distribution Inside a City or small Region.
Approximation algorithms
Brute Force II.
Excursions in Modern Mathematics Sixth Edition
Data Structures Lab Algorithm Animation.
Greedy Technique.
Richard Anderson Lecture 26 NP-Completeness
Optimization problems such as
Lecture 2-2 NP Class.
Routing Through Networks - 1
Algorithms Detour - Shortest Path
School of Computing Clemson University Fall, 2012
Richard Anderson Lecture 26 NP-Completeness
Unsolvable Problems December 4, 2017.
EECS 203 Lecture 20 More Graphs.
Subject Name: Operation Research Subject Code: 10CS661 Prepared By:Mrs
Lecture 5 NP Class.
Shortest Paths Discrete Mathematics and Its Applications (7th Edition)
Heuristics Definition – a heuristic is an inexact algorithm that is based on intuitive and plausible arguments which are “likely” to lead to reasonable.
CSCE350 Algorithms and Data Structure
Discrete Mathematics and Its Applications (5th Edition)
Lecture 24 NP-Complete Problems
ICS 353: Design and Analysis of Algorithms
Minimum Spanning Trees
Shortest Paths Discrete Mathematics and Its Applications (7th Edition)
Heuristic Algorithms via VBA
Approximation Algorithms
Artificial Intelligence
Discrete Mathematics and Its Applications (5th Edition)
Minimum Spanning Trees
ICS 353: Design and Analysis of Algorithms
Heuristic Algorithms via VBA
Minimum Spanning Trees
Shortest Paths Discrete Mathematics and Its Applications (8th Edition)
Approximation Algorithms
Shortest Paths Discrete Mathematics and Its Applications (7th Edition)
Shortest Paths Discrete Mathematics and Its Applications (7th Edition)
Minimum Spanning Trees
Solver via VBA IE 469 Spring 2019.
Presentation transcript:

Heuristic Algorithms via VBA IE 469 Fall 2017

Why do we need Heuristic Algorithms after all? We could use Excel Solver or Open Solver to solve optimization problems. So, why is there a need to consider heuristic algorithms?

Why do we need Heuristic Algorithms after all? Some problems are very hard to solve. Even though given a solution instance it is very easy to verify if it is feasible and if so, the value of the objective function; there is no efficient way to find the optimal solution. As the problem size grows bigger it gets even harder to solve them optimally. Example: TSP problem It all comes down to computational complexity. Many of these hard probems are said to be NP-Complete.

Heuristic Algorithms When you start working, you will have absolutely no excuse to your manager if you fail to solve a problem assigned to you or your team! Don’t worry, in real life circumstances you do NOT usually need the OPTIMAL solution after all! A satisfactory solution provided in a reasonable time would be sufficient in many circumstances. Usually, these satisfactory solutions are not too far away from the optimal. In some cases and if you are lucky enough, they may even be the optimal solution you were looking for. (But there is no guarantee!)

Heuristic Algorithms This course is NOT a heuristic algorithm design course. You are NOT expected to come up with a heuristic algorithm. BUT, given a heuristic algorithm design – sometimes a pseudocode, you should be able to code them in VBA. These will not be complex algorithms – I promise 

Traveling Salesman Problem Given a graph, we should find the minimum distance tour that will Start and end at the same node. All nodes are visited once.

Traveling Salesman Problem The algorithm we will use is called the Nearest Neighbor Algorithm. (Constructive Heuristic) Assumption: The graph is fully connected! Algorithm: Start from an arbitrary node a. From a, go to another node, b such that the node b has not been visited before and the distance (a,b) is the shortest among all other unvisited nodes. Stop when all nodes are visited. Now, let’s code it!