Algorithms and their Applications CS2004 (2011-2012) Dr Stasha Lauria 11.1 Applications, Introduction and Parameter Optimisation.

Slides:



Advertisements
Similar presentations
G5BAIM Artificial Intelligence Methods
Advertisements

Local Search Jim Little UBC CS 322 – CSP October 3, 2014 Textbook §4.8
CPSC 322, Lecture 14Slide 1 Local Search Computer Science cpsc322, Lecture 14 (Textbook Chpt 4.8) Oct, 5, 2012.
1 An Adaptive GA for Multi Objective Flexible Manufacturing Systems A. Younes, H. Ghenniwa, S. Areibi uoguelph.ca.
1 Transportation problem The transportation problem seeks the determination of a minimum cost transportation plan for a single commodity from a number.
Multi-Objective Optimization NP-Hard Conflicting objectives – Flow shop with both minimum makespan and tardiness objective – TSP problem with minimum distance,
Lecture 12: Revision Lecture Dr John Levine Algorithms and Complexity March 27th 2006.
Ant Colony Optimization. Brief introduction to ACO Ant colony optimization = ACO. Ants are capable of remarkably efficient discovery of short paths during.
Lecture 1: Introduction to the Course of Optimization 主講人 : 虞台文.
Semidefinite Programming
Ryan Kinworthy 2/26/20031 Chapter 7- Local Search part 1 Ryan Kinworthy CSCE Advanced Constraint Processing.
Nature’s Algorithms David C. Uhrig Tiffany Sharrard CS 477R – Fall 2007 Dr. George Bebis.
Reporter : Mac Date : Multi-Start Method Rafael Marti.
Imagine that I am in a good mood Imagine that I am going to give you some money ! In particular I am going to give you z dollars, after you tell me the.
EAs for Combinatorial Optimization Problems BLG 602E.
Ant Colony Optimization Optimisation Methods. Overview.
D Nagesh Kumar, IIScOptimization Methods: M1L4 1 Introduction and Basic Concepts Classical and Advanced Techniques for Optimization.
Ant Colony Optimization: an introduction
Metaheuristics The idea: search the solution space directly. No math models, only a set of algorithmic steps, iterative method. Find a feasible solution.
Lecture: 5 Optimization Methods & Heuristic Strategies Ajmal Muhammad, Robert Forchheimer Information Coding Group ISY Department.
Genetic Algorithms: A Tutorial
Copyright R. Weber Search in Problem Solving Search in Problem Solving INFO 629 Dr. R. Weber.
Genetic Algorithms and Ant Colony Optimisation
Copyright R. Weber Search in Problem Solving ISYS 370 Dr. R. Weber.
Programming for Geographical Information Analysis: Advanced Skills Online mini-lecture: Introduction to Networks Dr Andy Evans.
Applications of Evolutionary Algorithms Michael J. Watts
Machine Learning CSE 681 CH2 - Supervised Learning.
Algorithms and their Applications CS2004 ( )
COSC 4426 Topics in Computer Science II Discrete Optimization Good results with problems that are too big for people or computers to solve completely
Search Methods An Annotated Overview Edward Tsang.
Algorithms and their Applications CS2004 ( ) Dr Stephen Swift 3.1 Mathematical Foundation.
MODELING AND ANALYSIS OF MANUFACTURING SYSTEMS Session 12 MACHINE SETUP AND OPERATION SEQUENCING E. Gutierrez-Miravete Spring 2001.
Optimization Problems - Optimization: In the real world, there are many problems (e.g. Traveling Salesman Problem, Playing Chess ) that have numerous possible.
Algorithms and their Applications CS2004 ( )
Local Search: walksat, ant colonies, and genetic algorithms.
Week 10Complexity of Algorithms1 Hard Computational Problems Some computational problems are hard Despite a numerous attempts we do not know any efficient.
1 “Genetic Algorithms are good at taking large, potentially huge search spaces and navigating them, looking for optimal combinations of things, solutions.
Algorithms and their Applications CS2004 ( ) Dr Stephen Swift 1.1 Introduction to the Module.
Algorithms and their Applications CS2004 ( ) Dr Stephen Swift 12.1 An Introduction to Genetic Algorithms.
2005MEE Software Engineering Lecture 11 – Optimisation Techniques.
Thursday, May 9 Heuristic Search: methods for solving difficult optimization problems Handouts: Lecture Notes See the introduction to the paper.
Exact and heuristics algorithms
Biologically Inspired Computing: Optimisation This is mandatory additional material for `Biologically Inspired Computing’ Contents: Optimisation; hard.
Solving of Graph Coloring Problem with Particle Swarm Optimization Amin Fazel Sharif University of Technology Caro Lucas February 2005 Computer Engineering.
1 Genetic Algorithms and Ant Colony Optimisation.
Introduction to Genetic Algorithms. Genetic Algorithms We’ve covered enough material that we can write programs that use genetic algorithms! –More advanced.
Local Search and Optimization Presented by Collin Kanaley.
Operational Research & ManagementOperations Scheduling Economic Lot Scheduling 1.Summary Machine Scheduling 2.ELSP (one item, multiple items) 3.Arbitrary.
Optimization Problems
CSE 589 Part V One of the symptoms of an approaching nervous breakdown is the belief that one’s work is terribly important. Bertrand Russell.
Put a different number in each circle (1 to 8) such that adjacent circles cannot take consecutive numbers.
Iterative Improvement Search Including Hill Climbing, Simulated Annealing, WALKsat and more....
Chapter 5. Advanced Search Fall 2011 Comp3710 Artificial Intelligence Computing Science Thompson Rivers University.
IE 312 Review 1. The Process 2 Problem Model Conclusions Problem Formulation Analysis.
ACO for NP-hard Problems (continued) ACO February 2008 C. Colson.
Exhaustive search Exhaustive search is simply a brute- force approach to combinatorial problems. It suggests generating each and every element of the problem.
1 Intro to AI Local Search. 2 Intro to AI Local search and optimization Local search: –use single current state & move to neighboring states Idea: –start.
Genetic Algorithms.
Local Search Algorithms
ME 521 Computer Aided Design 15-Optimization
Computer Science cpsc322, Lecture 14
Subject Name: Operation Research Subject Code: 10CS661 Prepared By:Mrs
metaheuristic methods and their applications
Integer Programming (정수계획법)
Genetic Algorithms: A Tutorial
Metaheuristic methods and their applications. Optimization Problems Strategies for Solving NP-hard Optimization Problems What is a Metaheuristic Method?
Multi-Objective Optimization
Integer Programming (정수계획법)
Genetic Algorithms: A Tutorial
Presentation transcript:

Algorithms and their Applications CS2004 ( ) Dr Stasha Lauria 11.1 Applications, Introduction and Parameter Optimisation

Previously On CS2004… So far we have looked at: Concepts of computation and algorithms Comparing algorithms Some mathematical foundation The Big-Oh notation Computational complexity Data structures Sorting algorithms Hill Climbing and Simulated Annealing Tabu Search and Iterated Local Search Applications, Introduction and Parameter OptimisationSlide 2

This Term We are going to look into applications and advanced Heuristic Search methods We are going to cover: Applications, introduction and parameter optimisation This lecture! Genetic Algorithms Evolutionary Computation Ant Colony Optimisation Particle Swarm Optimisation Bin Packing Data Clustering The Travelling Salesman Problem GPU Computing Applications, Introduction and Parameter OptimisationSlide 3

Applications – Part 1 One of the aims of this module to provide a set of skills and techniques that can be applied to solving real world problems and applications However many applications require a high degree of previous knowledge and/or data E.g. Gene expression data analysis Very large volumes of data Requires in depth molecular and biological knowledge Applications, Introduction and Parameter OptimisationSlide 4

Applications – Part 2 However many problems can be solved if a similar problem can be solved Scales The Scales problem is easy to understand and requires only a little data Subset Selection If we have a method that can solve the Scales problem then we can solve the much more complex Subset Selection problem We will look at examples of this later Applications, Introduction and Parameter OptimisationSlide 5

Applications – Part 3 NP-Complete Nearly all of the problems we will look at are NP-Complete There is no algebraic or direct solution The computation complexity is exponential in terms of problem size Scales E.g. The Scales problem is O(2 n ) I.e. The applications we are going to look at are very hard to solve…. Applications, Introduction and Parameter OptimisationSlide 6

Optimisation – Definition “The process of making something optimal” For the purposes of this module, the “thing” that we are making optimal is a solution to a problem We will often look for the highest or lowest value of a fitness function parametersvariables features The elements that we change to seek an optimal solution are often called parameters, variables and/or features We change the allocation of weights to optimise how well balanced a set of scales is using Hill Climbing to solve the Scales problem Applications, Introduction and Parameter OptimisationSlide 7

Optimisation Problems We will be looking at the following different types of Optimisation problems: Parameter Optimisation Combinatorial Optimisation Subset selection Permutation problems Grouping (Clustering) problems Bin Packing Multi Objective Problems Constraint Satisfaction Problems Applications, Introduction and Parameter OptimisationSlide 8

Parameter Optimisation – Part 1 This is where we are searching for the values of a set of numbers that solve a problem, typically expressed as an equation I.e. The maximisation or minimisation of a function More formally: Find the X that maximises/minimises F(X) given : X = (x 1, x 2, x 3,..., x n ) x i is a number Note that the exact definition of F(X) is problem dependant Applications, Introduction and Parameter OptimisationSlide 9

Parameter Optimisation – Part 2 An example parameter optimisation problem is that of a very long range cannon We have two parameters that need to be chosen so that we accurately hit a target We cannot use the laws of motion as air density and drag need to be accounted for We can search for the optimal set of parameters Hill Climbing Simulated Annealing Many, many more.... We will cover this topic in this weeks laboratory... Applications, Introduction and Parameter OptimisationSlide 10

Combinatorial Optimisation “The process of finding an optimal ordering or set from a number of objects or items” Applications, Introduction and Parameter OptimisationSlide 11

Subset Selection – Part 1 Applications, Introduction and Parameter OptimisationSlide 12 Given a set of items, select a subset of the set that optimises some requirement More formally: Given X, find a Y X such that F(Y) is a maximum/minimum where X is a set of objects/items Scales If you can solve the Scales problem you can solve the subset selection problem

Subset Selection – Part 2 Applications, Introduction and Parameter OptimisationSlide 13 Feature Subset Selection A good example of Subset Selection is the Feature Subset Selection problem This is where we are trying to model a set of data, but have too many features/variables/ description We wish to select the best subset that models the problem AI Those of you who choose the AI option in level 3 will look into this problem Machine learning Classification

Permutation Problems – Part 1 Applications, Introduction and Parameter OptimisationSlide 14 permutation A permutation is defined as a shuffling of a set of objects A permutation of A, B, C, D is B, C, A, D A permutation of 1, 2, 3, 4 is 4, 1, 2, 3 If we have N objects then there are N! possible permutations 4! = 24, 10! = 3,628,800, 100!  

Permutation Problems – Part 2 Applications, Introduction and Parameter OptimisationSlide 15 Without loss of generality we will assume that our solution is a permutation of the numbers X = [1, 2,..., N] We will use the notation Y =  (X) to denote that Y is a permutation of X We formally define the permutation problem as find a Y =  (X) such that F(Y) is a maximum/minimum Note that the exact definition of F(Y) is problem dependant

Permutation Problems – Part 3 Travelling Salesman Problem (TSP) The Travelling Salesman Problem (TSP) is a classic example of a permutation problem A sales person has to visit N cities as part of their job The aim is to start off at one of the cities, visit each city exactly once and then to arrive back at the starting city tour This is called a tour The objective is to find a tour where the sum of the total distance travelled is a minimum I.e. This is analogous to the sales person trying to minimise their petrol costs Examples include parcel delivery, general vehicle routing and road gritting We will cover this topic (TSP) in much more detail later Eight Queens Genetic Algorithms We will look into the Eight Queens problem when we look at Genetic Algorithms Applications, Introduction and Parameter OptimisationSlide 16

Data Clustering – Part 1 Data Clustering is the process of arranging objects (as points) into a number of sets ( k ) according to “distance” or similarity Each set will be referred to as a cluster/group For the purposes of this module, each set is mutually exclusive, i.e. an item cannot be in more than one cluster Applications, Introduction and Parameter OptimisationSlide 17 Cluster 1 Cluster 2

Data Clustering – Part 2 Why Cluster? Knowing which objects are highly related to other objects is very useful within data analysis Less complex to model May give insight into the unknown properties of some of the objects A useful pre-processing tool The number of applications of data clustering is extensive Gene Expression Data Software Modularisation Clustering Customer Behaviour Etc... We will look into data clustering in much more detail in a later lecture Applications, Introduction and Parameter OptimisationSlide 18

Bin Packing and Data ClusteringSlide 19 Bin Packing – Part 1 bin packing The bin packing problem is where a number of n items of size x 1, …,x n, need putting into the smallest number of bins (or boxes) of size/capacity c Capacity=6 x 1,...,x

Bin Packing – Part 2 There are a large number of bin packing applications: 1-dimensional e.g. CD compilations 2-dimensional e.g. stock cutting 3-dimensional e.g. van packing Again, we will look into this in more detail later… Applications, Introduction and Parameter OptimisationSlide 20

Multi Objective Optimisation Some optimisation problems have more than one quality or fitness function Thus with these types of problems we might have more than one way of rating a solution For example we might be trying to optimise X = (x 1, x 2, x 3,..., x n ) We might have a number of fitness function F 1 (X), F 2 (X),..., F m (X) The problem is how to compare two potential solutions when only some of the fitness function evaluations are better For example if we had two potential solutions X 1 and X 2 and three fitness functions such that: F 1 (X 1 ) = 10, F 2 (X 1 ) = 20 and F 3 (X 1 ) = 30 F 1 (X 2 ) = 20, F 2 (X 2 ) = 10 and F 3 (X 2 ) = 31 Which solution is better? Applications, Introduction and Parameter OptimisationSlide 21

Weighted Fitness One solution to this problem is to assign a numerical weight or importance to the fitness functions For example: This assumes that we can assign a weight We must have some prior knowledge of how important each function is This also requires us to be aware of what the ranges of the fitness functions are For example if one function is always less than 1 and another is always greater than 1,000,000 then equal weights would be pointless Applications, Introduction and Parameter OptimisationSlide 22

Pareto Optimality – Part 1 Pareto optimality is a very straight forward but highly effective technique Pareto Dominates If we have two solutions X 1 and X 2 then we say that X 1 Pareto Dominates X 2 is F i (X 1 ) is better than F i (X 2 ) for all i We use the notation: Pareto Equivalent If neither solution dominates each other then they are Pareto Equivalent Thus we could search for a solution to a problem which is not dominated by any other solution Applications, Introduction and Parameter OptimisationSlide 23

Pareto Optimality – Part 2 Pareto Front Pareto Equivalent dominated The Pareto Front is the set of Pareto Equivalent solutions that are not dominated by any other solution Multi Objective Optimisation has a number of applications: Manufacturing Telecommunications and computer networks Logistics and transportation Timetabling and scheduling Applications, Introduction and Parameter OptimisationSlide 24

Constraint Satisfaction Problems Constraint Satisfaction Problems (CSP) are optimisation problems, where the valid solutions are constrained by a set of conditions For example, if we are seeking to optimise: X = (x 1, x 2, x 3,..., x n ) We might have a set of constraints such as Applications, Introduction and Parameter OptimisationSlide 25

CSP Applications Advanced Planning and Scheduling Train scheduling Production scheduling Assignment problems Gate allocation for airports Balancing work among different people Network management and configuration Planning of cabling of telecommunication networks Network reconfiguration without service interruptions Database systems Ensure and/or restore data consistency Molecular biology DNA sequencing Chemical hypothesis reasoning Protein docking Electrical engineering Fault location Circuit layout computation Applications, Introduction and Parameter OptimisationSlide 26

CSP Example Map Colouring Colour all of the regions in a map so that no adjacent regions are the same colour E.g. x i  x j Sometimes we wish to minimise the number of colours (4!) Applications, Introduction and Parameter OptimisationSlide 27

CSP Strategies Often Heuristic Search methods are used to solve CSP General Strategy Instantiate all variables randomly Use a repair or update strategy to move towards a more and more complete solution Stop if a complete solution is found Hill Climbing Modify the value of one variable such that more constraints are satisfied Restart with a random assignment if no more constraints can be satisfied (local minimum) Minimising conflicts Randomly choose a variable that is involved with an unsatisfied constraint Pick a value that reduces the number of unsatisfied constraints If no such value exists pick a random value which does not increase the number of unsatisfied constraints Applications, Introduction and Parameter OptimisationSlide 28

The Laboratory We will be looking at solving the cannon problem using a Hill Climbing Algorithm We can re-use code from previous laboratories Slide 29Applications, Introduction and Parameter Optimisation

Next Lecture We will be looking at Genetic Algorithms in the next lecture Slide 30Applications, Introduction and Parameter Optimisation