Graph Optimization - Lab 1
|
|
- Eileen Sanders
- 5 years ago
- Views:
Transcription
1 Graph Optimization - Lab 1 ORLAB - Operations Research Laboratory Stefano Gualandi October 24, 2011
2 What you do during lab sessions Data Math Model Algorithms Solver Solution(s) Modeling Interpretation Problem Strategy
3 What you do during lab sessions Data Math Model Algorithms Solver Solution(s) Modeling Interpretation Problem Strategy Check this out:
4 WARNINGS Warning 1: Lab sessions complement exercise sessions Warning 2: read carefully the error messages! Common pitfalls: unbounded variables missing constraints missunderstood constraints wrong quantification in the summation of constraints wrong objective function
5 A short introduction to AMPL In AMPL, models, data, and scripts are written in three separate text (ASCII) files: FILENAME.mod: it contains the model of the problem, i.e., variables, constraints, and objective function; FILENAME.dat: it contains the data specifing an instance of the problem, i.e., the coefficients of the constraints and objective function FILENAME.run: it contains script commands that typically select the solver, set parameters, solve the problem, and display the solution in a format of your choice. It can be used to implement basic algorithms. As editor, you can use Notepad, Emacs (with syntax highlight), or Gusek (based on SciiTech).
6 AMPL keywords set: defines set of elements param: defines constant parameters like constants, vectors, or matrices var: defines continuous variables. They can be defined also as integer binary sum: defines a linear sum subject to: defines a family of constraints minimize or maximize: defines the objective function Check this out:
7 AMPL support for scripting let...: change the value of a set or parameter for {set expression}...: iterate over the elements of a set if <condition> then... else...: check conditional repeat {... } while (condition): loop while a given condition is verifies repeat {... } until (condition): loop until a given condition is verifies Uniform(a,b): draw a random number in the interval [a...b] Uniform01(): draw a random number in the interval [0...1] Check this out:
8 Invoking AMPL commands You have two options: 1. Use the AMPL shell, and type the following commands (good for learning the basic steps): ampl: option solver cplex; ampl: model YOUR PATH/YOUR FILE.mod; ampl: data YOUR PATH/YOUR FILE.dat; ampl: solve; ampl: display x; 2. Use the script command file by DOS or LINUX shell (good for rapid math modeling) % ampl YOUR FILE.mod YOUR FILE.dat YOUR FILE.run;
9 Example 1: Cabled Networks
10 Example 2: Wireless Networks
11 Dealing with Directed Graphs param n > 0; set N := 1..n; set A within N cross N; # Number of nodes # Set of nodes # Set of arcs # Forward and Backward star of each node set FS {i in N} := setof {j in N: (i,j) in A} (i,j); set BS {i in N} := setof {j in N: (j,i) in A} (j,i); # In and Out degree of each vertex param in_degree {i in N} := card(bs[i]); param out_degree {i in N} := card(fs[i]); # Example of node weight vector param w {N} default 1; # Example of arc capacity vector param u {A} default 1;
12 Graph examples data; param n := 5; param: A : u := ;
13 Print a Directed Graph printf "\nforward STARS:\n"; for {i in N} { printf "node %d: ", i; for {(j,l) in FS[i]} printf "(%d,%d)[u=%d] ", j, l, u[j,l]; printf "\n"; } printf "\nbackward STARS:\n"; for {i in N} { printf "node %d: ", i; for {(j,l) in BS[i]} printf "(%d,%d)[u=%d] ", j, l, u[j,l]; printf "\n"; } printf "\ndegrees \n"; display out_degree, in_degree; Command line: ampl directed-graphs.mod digraph-1.dat print-digraph.run
14 Warm up (or Weak up!) Start with the exercise 1 on the handouts
15 Exercise 3: kruskal.run repeat { let MinCostEdges := {(i,j) in F: c[i,j] == min{(u,v) in F} c[u,v]}; let F := F diff MinCostEdges; for {(i,j) in MinCostEdges} { if cc[i] == 0 then { if cc[j] == 0 then { # Case 1: neither vertex is in the tree. let cc[i] := max{v in N} cc[v] + 1; let cc[j] := cc[i]; let T := T union {(i,j)}; } else { # Case 2: j is in the tree, but i isn t. let cc[i] := cc[j]; let T := T union {(i,j)}; } } else { if cc[j] == 0 then { # Case 3: i is in the tree, but j isn t. let cc[j] := cc[i]; let T := T union {(i,j)}; } else if cc[i] <> cc[j] then { # Case 4: i and j are in different connect for {v in N: cc[v] == cc[j]} let cc[v] := cc[i]; let T := T union {(i,j)}; } else printf "Adding edge (%d,%d) would create a cycle.\n\n",i,j; } } } while (card(t) < n - 1); printf "A minimum MST has cost %d.\n",sum{(i,j) in T} c[i,j];
16 Challenge 2: FarmVille
17 Challenge 2: FarmVille You begin the game with a 12 by 12 piece of land. That gives you 144 one by one squares in which to plant crops. To simplify the exercise, we have the following assumptions 1. Restrict my attention to the four crops initially available (strawberries, eggplant, wheat, and soybeans); 2. Assume crops will be harvested as soon as they are ripe (that is, ignore wilting); 3. Disregard the random bonuses and gifts that show up every now and then. The cost column includes the cost of plowing the land (15 coins) plus the cost of purchasing the seeds. Because the harvest times of all four crops are multiples of four hours, we can think in terms of 4-hour periods.
18 Challenge 2: FarmVille You initially have 200 coins, one ripe and one half-grown square of strawberries, one ripe and one half-grown square of eggplant. By harvesting the two ripe squares, your fortune grows to 323 coins. We also go ahead and clean (delete) the two half-grown squares so that we can begin with a clean slate. Question: What is the largest amount of cash one can obtain in 6 days? (need to rest on the 7th day).
19 Links and Lab sessions web site: http: //www-dimat.unipv.it/~gualandi/graph-optimization/ stefano.gualandi [at] unipv.it
Introduction to Mosel and Xpress
ORLAB - Operations Research Laboratory Politecnico di Milano, Italy April 15, 2011 From Modeling to Strategies Model Algorithms Solution(s) Problem Modeling Interpretation Strategy From Modeling to Strategies
More informationIntroduction to AMPL (Math 464, Spring 2018)
Math464 - AMPL Handout 1 Introduction to AMPL (Math 464, Spring 2018) Details of how to download and start up the demo version of AMPL are given in http://www.ampl.com. Download and install AMPL in your
More informationMath 464 (Spring 2007) Introduction to AMPL
Math464 - Feb 13, 2007 1 Math 464 (Spring 2007) Introduction to AMPL Details of how to download and start up the student version of AMPL are given in http://www.ampl.com. Download and install AMPL in your
More informationAMPL Integer Linear Programming. ORLAB Operations Research Laboratory. Borzou Rostami. Politecnico di Milano, Italy.
AMPL Integer Linear Programming ORLAB Operations Research Laboratory Borzou Rostami Politecnico di Milano, Italy January 18, 2012 Integer Programming: Many linear programming problems require certain variables
More informationThis matrix is not TU since the submatrix shown below has determinant of
EMIS 8373: Integer Programming [Homework 5 Solutions] 1 Problem 1 Problem 1 on page 50 of the Wolsey text book. (a) A 1 = 1 0 1 0 1 0 1 1 1 0 0 0 0 1 1 1 1 0 0 0 This matrix is not TU since the submatrix
More informationAMPL Integer Linear Programming And Sensitivity Analysis for LP. ORLAB Operations Research Laboratory. Borzou Rostami. Politecnico di Milano, Italy
AMPL Integer Linear Programming And Sensitivity Analysis for LP ORLAB Operations Research Laboratory Borzou Rostami Politecnico di Milano, Italy December 6, 2012 Integer Programming: Many linear programming
More informationCMSC 451: Linear Programming
CMSC 451: Linear Programming Slides By: Carl Kingsford Department of Computer Science University of Maryland, College Park Linear Programming Suppose you are given: A matrix A with m rows and n columns.
More informationINF580 Advanced Mathematical Programming
INF580 Advanced Mathematical Programming TD3 Complexity and MP Leo Liberti CNRS LIX, Ecole Polytechnique, France 190125 Leo Liberti (CNRS LIX) INF580 / TD3 190125 1 / 9 Simple AMPL codes Write AMPL code
More informationLinear Programming. Slides by Carl Kingsford. Apr. 14, 2014
Linear Programming Slides by Carl Kingsford Apr. 14, 2014 Linear Programming Suppose you are given: A matrix A with m rows and n columns. A vector b of length m. A vector c of length n. Find a length-n
More informationContents. Introduction
Contents Introduction xv Chapter 1. Production Models: Maximizing Profits 1 1.1 A two-variable linear program 2 1.2 The two-variable linear program in AMPL 5 1.3 A linear programming model 6 1.4 The linear
More informationModelling. Christina Burt, Stephen J. Maher, Jakob Witzig. 29th September Zuse Institute Berlin Berlin, Germany
Modelling Christina Burt, Stephen J. Maher, Jakob Witzig Zuse Institute Berlin Berlin, Germany 29th September 2015 Modelling Languages Jakob Witzig Burt, Maher, Witzig Modelling 1 / 22 Modelling Languages:
More informationComputer Organization and Assembly Language. Lab Session 01
Objective: Lab Session 01 Introduction to Assembly Language Tools and Familiarization with Emu8086 environment To be able to understand Data Representation and perform conversions from one system to another
More informationfunction [s p] = sumprod (f, g)
Outline of the Lecture Introduction to M-function programming Matlab Programming Example Relational operators Logical Operators Matlab Flow control structures Introduction to M-function programming M-files:
More informationNetwork Optimization
Université Paris Sud Laboratoire de Recherche en Informatique Network Optimization Fabio Martignon 1 Lecture overview Multi-commodity flow problem Network design problem Node positioning Users coverage
More informationMATLAB Demo. Preliminaries and Getting Started with Matlab
Math 250C Sakai submission Matlab Demo 1 Created by G. M. Wilson, revised 12/23/2015 Revised 09/05/2016 Revised 01/07/2017 MATLAB Demo In this lab, we will learn how to use the basic features of Matlab
More informationCARLETON UNIVERSITY. Laboratory 2.0
CARLETON UNIVERSITY Department of Electronics ELEC 267 Switching Circuits Jan 3, 28 Overview Laboratory 2. A 3-Bit Binary Sign-Extended Adder/Subtracter A binary adder sums two binary numbers for example
More informationSimple Java Programming Constructs 4
Simple Java Programming Constructs 4 Course Map In this module you will learn the basic Java programming constructs, the if and while statements. Introduction Computer Principles and Components Software
More information1 Lab 2: C Programming II
1 Lab 2: C Programming II This laboratory requires the following equipment: C compiler Matlab The laboratory duration is approximately 3 hours. Although this laboratory is not graded, we encourage you
More informationForest Fire Simulation Using Multiple Processes and Pipes
CEG 434/634: Concurrent Software Design (Fall 2002) PROGRAMMING ASSIGNMENT I Forest Fire Simulation Using Multiple Processes and Pipes Distribution date: October 1 (Tuesday) Due Date: October 15 (Tuesday)
More informationCS 261 Data Structures. Big-Oh Analysis: A Review
CS 261 Data Structures Big-Oh Analysis: A Review Big-Oh: Purpose How can we characterize the runtime or space usage of an algorithm? We want a method that: doesn t depend upon hardware used (e.g., PC,
More informationMATLAB INTRODUCTION. Risk analysis lab Ceffer Attila. PhD student BUTE Department Of Networked Systems and Services
MATLAB INTRODUCTION Risk analysis lab 2018 2018. szeptember 10., Budapest Ceffer Attila PhD student BUTE Department Of Networked Systems and Services ceffer@hit.bme.hu Előadó képe MATLAB Introduction 2
More informationNOTATION AND TERMINOLOGY
15.053x, Optimization Methods in Business Analytics Fall, 2016 October 4, 2016 A glossary of notation and terms used in 15.053x Weeks 1, 2, 3, 4 and 5. (The most recent week's terms are in blue). NOTATION
More information5. Lecture notes on matroid intersection
Massachusetts Institute of Technology Handout 14 18.433: Combinatorial Optimization April 1st, 2009 Michel X. Goemans 5. Lecture notes on matroid intersection One nice feature about matroids is that a
More informationSOEE1160: Computers and Programming in Geosciences Semester /08. Dr. Sebastian Rost
SOEE1160 L3-1 Structured Programming SOEE1160: Computers and Programming in Geosciences Semester 2 2007/08 Dr. Sebastian Rost In a sense one could see a computer program as a recipe (this is pretty much
More informationAMPL Network Optimization
AMPL Network Optimization ORLAB Operations Research Laboratory Borzou Rostami Politecnico di Milano, Italy December 14, 2011 Network Optimization Shortest path models Consider the problem of finding the
More informationControl Structure: Loop
Control Structure: Loop Knowledge: Understand the various concepts of loop control structure Skill: Be able to develop a program involving loop control structure 1 Loop Structure Condition is tested first
More informationDiscrete Optimization and Network Flows (laboratory 15 h)
Business Information Systems Adam Kasperski Discrete Optimization and Network Flows (laboratory 15 h) Project co-financed by the European Union within the European Social Fund A mixed integer linear programming
More informationGreedy Algorithms. Previous Examples: Huffman coding, Minimum Spanning Tree Algorithms
Greedy Algorithms A greedy algorithm is one where you take the step that seems the best at the time while executing the algorithm. Previous Examples: Huffman coding, Minimum Spanning Tree Algorithms Coin
More informationReals 1. Floating-point numbers and their properties. Pitfalls of numeric computation. Horner's method. Bisection. Newton's method.
Reals 1 13 Reals Floating-point numbers and their properties. Pitfalls of numeric computation. Horner's method. Bisection. Newton's method. 13.1 Floating-point numbers Real numbers, those declared to be
More informationNotes on AMPL for and (Adapted from notes by Sommer Gentry)
Notes on AMPL for 16.410 and 16.413 (Adapted from notes by Sommer Gentry) User Guides for MS-Dos and UNIX: http://www.ampl.com/refs/index.html#os_links About AMPL/CPLEX AMPL stands for A Mathematical Programming
More informationDirected Graph and Binary Trees
and Dr. Nahid Sultana December 19, 2012 and Degrees Paths and Directed graphs are graphs in which the edges are one-way. This type of graphs are frequently more useful in various dynamic systems such as
More informationBulgarian Math Olympiads with a Challenge Twist
Bulgarian Math Olympiads with a Challenge Twist by Zvezdelina Stankova Berkeley Math Circle Beginners Group September 0, 03 Tasks throughout this session. Harder versions of problems from last time appear
More informationLab 5a Shell Script Lab 4 Using Arithmetic Operators in shell script
Lab 5a Shell Script Lab 4 Using Arithmetic Operators in shell script Objective Upon completion of this lab, the student will be able to use arithmetic operators in Linux shell script. Scenario The student
More informationAdding Functions to AMPL
1 ISMP 2018, Bordeaux, 2 6 July 2018 and EURO 2018, Valencia, 8 11 July 2018 Adding Functions to AMPL David M. Gay AMPL Optimization, Inc. Albuquerque, New Mexico, U.S.A. dmg@ampl.com http://www.ampl.com
More informationI2204 ImperativeProgramming Semester: 1 Academic Year: 2018/2019 Credits: 5 Dr Antoun Yaacoub
Lebanese University Faculty of Science Computer Science BS Degree I2204 ImperativeProgramming Semester: 1 Academic Year: 2018/2019 Credits: 5 Dr Antoun Yaacoub I2204- Imperative Programming Schedule 08h00-09h40
More information1. Represent each of these relations on {1, 2, 3} with a matrix (with the elements of this set listed in increasing order).
Exercises Exercises 1. Represent each of these relations on {1, 2, 3} with a matrix (with the elements of this set listed in increasing order). a) {(1, 1), (1, 2), (1, 3)} b) {(1, 2), (2, 1), (2, 2), (3,
More information7 Control Structures, Logical Statements
7 Control Structures, Logical Statements 7.1 Logical Statements 1. Logical (true or false) statements comparing scalars or matrices can be evaluated in MATLAB. Two matrices of the same size may be compared,
More informationProgram Testing and Analysis: Manual Testing Prof. Dr. Michael Pradel Software Lab, TU Darmstadt
Program Testing and Analysis: Manual Testing Prof. Dr. Michael Pradel Software Lab, TU Darmstadt Partly based on slides from Peter Müller, ETH Zurich 1 Warm-up Quiz What does the following code print?
More informationUsing SAS/OR to Optimize Scheduling and Routing of Service Vehicles
Paper SAS1758-2018 Using SAS/OR to Optimize Scheduling and Routing of Service Vehicles Rob Pratt, SAS Institute Inc. ABSTRACT An oil company has a set of wells and a set of well operators. Each well has
More informationComputer lab information. TAOP24, Advanced course on optimization
Linkping University April 26, 2017 Department of Mathematics Division of Optimization Oleg Burdakov Computer lab information TAOP24, Advanced course on optimization 1 General information Three computer
More informationGrinderBench. software benchmark data book.
GrinderBench software benchmark data book Table of Contents Calculating the Grindermark...2 Chess...3 Crypto...5 kxml...6 Parallel...7 PNG...9 1 Name: Calculating the Grindermark The Grindermark and the
More informationYou Need an Interpreter! Comp Spring /28/08 L10 - An Interpreter
You Need an Interpreter! Closing the GAP Thus far, we ve been struggling to speak to computers in their language, maybe its time we spoke to them in ours How high can we rasie the level of discourse? We
More informationA Gentle Introduction. Optimisation
A Gentle Introduction to for Optimisation FROM A MATLAB-USER PERSPECTIVE THIBAUT CUVELIER 23 SEPTEMBER, 2016 1 A few words about the course Goal: you can model nontrivial situations as MIPs, including
More informationReview. Steps to writing (stateless) circuits: Create a logic function (one per output)
MIPS ALU Review Steps to writing (stateless) circuits: Create a truth table Go through all different combinations of inputs For each row, generate each output based on the problem description Create a
More informationMathematics for Decision Making: An Introduction. Lecture 4
Mathematics for Decision Making: An Introduction Lecture 4 Matthias Köppe UC Davis, Mathematics January 15, 2009 4 1 Modeling the TSP as a standard optimization problem, I A key observation is that every
More informationSyntax and Variables
Syntax and Variables What the Compiler needs to understand your program, and managing data 1 Pre-Processing Any line that starts with # is a pre-processor directive Pre-processor consumes that entire line
More informationChapter 9 Graph Algorithms
Introduction graph theory useful in practice represent many real-life problems can be if not careful with data structures Chapter 9 Graph s 2 Definitions Definitions an undirected graph is a finite set
More informationLAB 2: Linear Equations and Matrix Algebra. Preliminaries
Math 250C, Section C2 Hard copy submission Matlab # 2 1 Revised 07/13/2016 LAB 2: Linear Equations and Matrix Algebra In this lab you will use Matlab to study the following topics: Solving a system of
More informationDiscrete Optimization 2010 Lecture 5 Min-Cost Flows & Total Unimodularity
Discrete Optimization 2010 Lecture 5 Min-Cost Flows & Total Unimodularity Marc Uetz University of Twente m.uetz@utwente.nl Lecture 5: sheet 1 / 26 Marc Uetz Discrete Optimization Outline 1 Min-Cost Flows
More informationSpecification of FlatZinc
Specification of FlatZinc Version 1.4 Ralph Becket 1 Contents 1 Introduction 3 2 Comments 3 3 Types 3 3.1 Parameter types..................................... 3 3.2 Variable types.......................................
More informationAdvanced Operations Research Techniques IE316. Lecture 10. Dr. Ted Ralphs
Advanced Operations Research Techniques IE316 Lecture 10 Dr. Ted Ralphs IE316 Lecture 10 1 Reading for This Lecture AMPL Book: Chapter 1 AMPL: A Mathematical Programming Language IE316 Lecture 10 2 Software
More informationIntroduction to Mathematical Programming IE406. Lecture 9. Dr. Ted Ralphs
Introduction to Mathematical Programming IE406 Lecture 9 Dr. Ted Ralphs IE406 Lecture 9 1 Reading for This Lecture AMPL Book: Chapter 1 AMPL: A Mathematical Programming Language GMPL User s Guide ZIMPL
More information3. Pyomo Fundamentals
3. Pyomo Fundamentals John D. Siirola Discrete Math & Optimization (1464) Center for Computing Research Sandia National Laboratories Albuquerque, NM USA Sandia National Laboratories is a
More informationGetting To Know Matlab
Getting To Know Matlab The following worksheets will introduce Matlab to the new user. Please, be sure you really know each step of the lab you performed, even if you are asking a friend who has a better
More informationFoundations of Operations Research Introduction to AMPL and Modellisation
Foundations of Operations Research Introduction to AMPL and Modellisation Pierre Hosteins hosteins@di.unito.it Politecnico di Milano October 17th 2013 Use of scripts in AMPL Problems of Linear Programming:
More informationNotes for Lecture 20
U.C. Berkeley CS170: Intro to CS Theory Handout N20 Professor Luca Trevisan November 13, 2001 Notes for Lecture 20 1 Duality As it turns out, the max-flow min-cut theorem is a special case of a more general
More informationChapter 9 Graph Algorithms
Chapter 9 Graph Algorithms 2 Introduction graph theory useful in practice represent many real-life problems can be if not careful with data structures 3 Definitions an undirected graph G = (V, E) is a
More informationChapter 4. Relations & Graphs. 4.1 Relations. Exercises For each of the relations specified below:
Chapter 4 Relations & Graphs 4.1 Relations Definition: Let A and B be sets. A relation from A to B is a subset of A B. When we have a relation from A to A we often call it a relation on A. When we have
More informationCSC201, SECTION 002, Fall 2000: Homework Assignment #2
1 of 7 11/8/2003 7:34 PM CSC201, SECTION 002, Fall 2000: Homework Assignment #2 DUE DATE Monday, October 2, at the start of class. INSTRUCTIONS FOR PREPARATION Neat, in order, answers easy to find. Staple
More informationLesson 13: Exploring Factored Form
Opening Activity Below is a graph of the equation y = 6(x 3)(x + 2). It is also the graph of: y = 3(2x 6)(x + 2) y = 2(3x 9)(x + 2) y = 2(x 3)(3x + 6) y = 3(x 3)(2x + 4) y = (3x 9)(2x + 4) y = (2x 6)(3x
More informationCS13002 Programming and Data Structures, Spring 2005
CS13002 Programming and Data Structures, Spring 2005 Mid-semester examination : Solutions Roll no: FB1331 Section: @ Name: Foolan Barik Answer all questions. Write your answers in the question paper itself.
More informationHomework # 2 Due: October 6. Programming Multiprocessors: Parallelism, Communication, and Synchronization
ECE669: Parallel Computer Architecture Fall 2 Handout #2 Homework # 2 Due: October 6 Programming Multiprocessors: Parallelism, Communication, and Synchronization 1 Introduction When developing multiprocessor
More informationComputer Science & Engineering 150A Problem Solving Using Computers
Computer Science & Engineering 150A Problem Solving Using Computers Lecture 06 - Stephen Scott Adapted from Christopher M. Bourke 1 / 30 Fall 2009 Chapter 8 8.1 Declaring and 8.2 Array Subscripts 8.3 Using
More informationOrganisation. Assessment
Week 1 s s Getting Started 1 3 4 5 - - Lecturer Dr Lectures Tuesday 1-13 Fulton House Lecture room Tuesday 15-16 Fulton House Lecture room Thursday 11-1 Fulton House Lecture room Friday 10-11 Glyndwr C
More informationModule 7 Highlights. Mastered Reviewed. Sections ,
Sections 5.3 5.6, 6.1 6.6 Module 7 Highlights Andrea Hendricks Math 0098 Pre-college Algebra Topics Degree & leading coeff. of a univariate polynomial (5.3, Obj. 1) Simplifying a sum/diff. of two univariate
More informationCS1110 Lab 6 (Mar 17-18, 2015)
CS1110 Lab 6 (Mar 17-18, 2015) First Name: Last Name: NetID: The lab assignments are very important and you must have a CS 1110 course consultant tell CMS that you did the work. (Correctness does not matter.)
More informationIntroduction: The Unix shell and C programming
Introduction: The Unix shell and C programming 1DT048: Programming for Beginners Uppsala University June 11, 2014 You ll be working with the assignments in the Unix labs. If you are new to Unix or working
More informationExercises: Instructions and Advice
Instructions Exercises: Instructions and Advice The exercises in this course are primarily practical programming tasks that are designed to help the student master the intellectual content of the subjects
More informationIntroduction to Computational Models Using Python
Introduction to Computational Models Using Python Slides 04 Department of Computer Science College of Computing and Software Engineering Kennesaw State University June, 2016 Lists A list in Python is simply
More informationCOMP 161 Lecture Notes 16 Analyzing Search and Sort
COMP 161 Lecture Notes 16 Analyzing Search and Sort In these notes we analyze search and sort. Counting Operations When we analyze the complexity of procedures we re determine the order of the number of
More informationStarting with a great calculator... Variables. Comments. Topic 5: Introduction to Programming in Matlab CSSE, UWA
Starting with a great calculator... Topic 5: Introduction to Programming in Matlab CSSE, UWA! MATLAB is a high level language that allows you to perform calculations on numbers, or arrays of numbers, in
More informationCSCI 1100L: Topics in Computing Lab Lab 11: Programming with Scratch
CSCI 1100L: Topics in Computing Lab Lab 11: Programming with Scratch Purpose: We will take a look at programming this week using a language called Scratch. Scratch is a programming language that was developed
More informationCITS2401 Computer Analysis & Visualisation
FACULTY OF ENGINEERING, COMPUTING AND MATHEMATICS CITS2401 Computer Analysis & Visualisation SCHOOL OF COMPUTER SCIENCE AND SOFTWARE ENGINEERING Topic 3 Introduction to Matlab Material from MATLAB for
More informationDept. of CSE, IIT KGP
Control Flow: Looping CS10001: Programming & Data Structures Pallab Dasgupta Professor, Dept. of Computer Sc. & Engg., Indian Institute of Technology Kharagpur Types of Repeated Execution Loop: Group of
More informationLecture 10,11: General Matching Polytope, Maximum Flow. 1 Perfect Matching and Matching Polytope on General Graphs
CMPUT 675: Topics in Algorithms and Combinatorial Optimization (Fall 2009) Lecture 10,11: General Matching Polytope, Maximum Flow Lecturer: Mohammad R Salavatipour Date: Oct 6 and 8, 2009 Scriber: Mohammad
More informationn = 1 What problems are interesting when n is just 1?
What if n=1??? n = 1 What problems are interesting when n is just 1? Sorting? No Median finding? No Addition? How long does it take to add one pair of numbers? Multiplication? How long does it take to
More informationIntroduction to Programming
Introduction to Programming Python Lab 3: Arithmetic PythonLab3 lecture slides.ppt 16 October 2018 Ping Brennan (p.brennan@bbk.ac.uk) 1 Getting Started Create a new folder in your disk space with the name
More informationA Gentle Introduction. Optimisation
A Gentle Introduction to for Optimisation FROM A MATLAB-USER PERSPECTIVE THIBAUT CUVELIER 23 SEPTEMBER, 2016 1 A few words about the course Goal: you can model nontrivial situations as MIPs, including
More informationMathematical Models: What and Why
Mathematical Models: What and Why Matthew J. Saltzman March 11, 1998 1 What Is a Model: Overview Mathematical modeling is a technique used to gain control of complexity in real life. In science, mathematical
More informationBEE 235 Continuous-Time Linear Systems
BEE 235 Continuous-Time Linear Systems Lab 2 Functions in MATLAB and Playing Sounds This work was written by Amittai Axelrod, Jayson Bowen, and Maya Gupta, and is licensed under the Creative Commons Attribution
More informationECOM 2325 Computer Organization and Assembly Language. Instructor: Ruba A.Salamah INTRODUCTION
ECOM 2325 Computer Organization and Assembly Language Instructor: Ruba A.Salamah INTRODUCTION Overview Welcome to ECOM 2325 Assembly-, Machine-, and High-Level Languages Assembly Language Programming Tools
More informationLab 1: Elementary image operations
CSC, KTH DD2423 Image Analysis and Computer Vision : Lab 1: Elementary image operations The goal of the labs is to gain practice with some of the fundamental techniques in image processing on grey-level
More informationGeneral Instructions. You can use QtSpim simulator to work on these assignments.
General Instructions You can use QtSpim simulator to work on these assignments. Only one member of each group has to submit the assignment. Please Make sure that there is no duplicate submission from your
More informationGraphs and Network Flows IE411. Lecture 21. Dr. Ted Ralphs
Graphs and Network Flows IE411 Lecture 21 Dr. Ted Ralphs IE411 Lecture 21 1 Combinatorial Optimization and Network Flows In general, most combinatorial optimization and integer programming problems are
More information.
Computer Laboratory Exercises in LINEAR PROGRAMMING AND COMBINATORIAL OPTIMIZATION LUND INSTITUTE OF TECHNOLOGY DEPARTMENT OF MATHEMATICS 1999 . Preparation for the Labs If you want to change your password,
More informationAdvanced Operations Research Prof. G. Srinivasan Department of Management Studies Indian Institute of Technology, Madras
Advanced Operations Research Prof. G. Srinivasan Department of Management Studies Indian Institute of Technology, Madras Lecture 16 Cutting Plane Algorithm We shall continue the discussion on integer programming,
More informationProgramming in C++ Prof. Partha Pratim Das Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur
Programming in C++ Prof. Partha Pratim Das Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur Lecture 04 Programs with IO and Loop We will now discuss the module 2,
More informationPointers. A pointer is simply a reference to a variable/object. Compilers automatically generate code to store/retrieve variables from memory
Pointers A pointer is simply a reference to a variable/object Compilers automatically generate code to store/retrieve variables from memory It is automatically generating internal pointers We don t have
More informationCS 135 Lab Assignments Week 12
CS 135 Lab Assignments Week 12 Professor: Matt B. Pedersen This handout is the assignment that you must finish for the lab portion of the course in week 12. You must finish the assignments yourself; if
More informationPROGRAMMING FUNDAMENTALS
PROGRAMMING FUNDAMENTALS TESTING, MAIN, GLOBAL VARIABLES João Correia Lopes INESC TEC, FEUP 23 October 2018 FPRO/MIEIC/2018-19 23/10/2018 1 / 24 INTRODUCTION GOALS By the end of this class, the student
More informationFinite Math Linear Programming 1 May / 7
Linear Programming Finite Math 1 May 2017 Finite Math Linear Programming 1 May 2017 1 / 7 General Description of Linear Programming Finite Math Linear Programming 1 May 2017 2 / 7 General Description of
More informationDEPARTMENT OF MATHS, MJ COLLEGE
T. Y. B.Sc. Mathematics MTH- 356 (A) : Programming in C Unit 1 : Basic Concepts Syllabus : Introduction, Character set, C token, Keywords, Constants, Variables, Data types, Symbolic constants, Over flow,
More informationSection Notes 4. Duality, Sensitivity, and the Dual Simplex Algorithm. Applied Math / Engineering Sciences 121. Week of October 8, 2018
Section Notes 4 Duality, Sensitivity, and the Dual Simplex Algorithm Applied Math / Engineering Sciences 121 Week of October 8, 2018 Goals for the week understand the relationship between primal and dual
More informationTcl/Tk for XSPECT a Michael Flynn
Tcl/Tk for XSPECT a Michael Flynn Tcl: Tcl (i.e. Tool Command Language) is an open source scripting language similar to other modern script languages such as Perl or Python. It is substantially more powerful
More informationPython for ArcGIS. Lab 1.
Python for ArcGIS. Lab 1. Python is relatively new language of programming, which first implementation arrived around early nineties of the last century. It is best described as a high level and general
More informationAnimations involving numbers
136 Chapter 8 Animations involving numbers 8.1 Model and view The examples of Chapter 6 all compute the next picture in the animation from the previous picture. This turns out to be a rather restrictive
More informationYork University Faculty Science and Engineering Fall 2008
York University Faculty Science and Engineering Fall 2008 CSE2031 Final Software Tools Friday, Feb..26 th, 2008 Last Name 08:30 10:30am First name ID Instructions to students: Answer all questions. Marks
More informationExam 3 Practice Problems
Exam 3 Practice Problems HONOR CODE: You are allowed to work in groups on these problems, and also to talk to the TAs (the TAs have not seen these problems before and they do not know the solutions but
More informationDependent Variable Independent Variable dependent variable : independent variable function: domain ran ge
FUNCTIONS The values of one variable often depend on the values for another: The temperature at which water boils depends on elevation (the boiling point drops as you go up). The amount by which your savings
More informationAssignment: 1. (Unit-1 Flowchart and Algorithm)
Assignment: 1 (Unit-1 Flowchart and Algorithm) 1. Explain: Flowchart with its symbols. 2. Explain: Types of flowchart with example. 3. Explain: Algorithm with example. 4. Draw a flowchart to find the area
More information