Welcome to the Webinar. Gurobi Enhancements to MATLAB and R

Size: px
Start display at page:

Download "Welcome to the Webinar. Gurobi Enhancements to MATLAB and R"

Transcription

1 Welcome to the Webinar Gurobi Enhancements to MATLAB and R

2 What s new in 8.0 for Matlab and R? General constraints: min, max, abs, etc. Handling of hierarchical and concurring multiple objectives Access to multiple solutions through the solution pool Integration with Compute Server and Instant Cloud Better coverage of variable attributes Copyright 2018, Gurobi Optimization, Inc. 2

3 Matlab API: Creating & Solving a Model Interface consists of only six functions Most important function: gurobi() Model components are given as a struct constraint matrix, objective function, variable bounds ( ) Most fields are arrays Output argument result is a struct, containing all solution information solution vector objective value solution time ( ) % maximize % x + 2 y + 3 z % subject to % x + y <= 1 % y + z <= 1 % model.a = sparse([1 1 0; 0 1 1]); model.obj = [1 2 3]; model.modelsense = 'Max'; model.rhs = [1 1]; model.sense = [ '<' '<']; result = gurobi(model); Copyright 2018, Gurobi Optimization, Inc. 3

4 R API: Creating & Solving a Model Interface consists of only six functions Most important function: gurobi() Model components are given as a list constraint matrix, objective function, variable bounds ( ) Most components are vectors or matrices Output argument result is a list, containing all solution information solution vector objective value solution time ( ) # maximize # x + 2 y + 3 z # subject to # x + y <= 1 # y + z <= 1 library(matrix) library(gurobi) model <- list() model$a <- matrix(c(1,1,0,0,1,1), nrow=2, byrow=t) model$obj <- c(1,2,3) model$modelsense <- 'max' model$rhs <- c(1,1) model$sense <- c('<', '<') result <- gurobi(model) Copyright 2018, Gurobi Optimization, Inc. 4

5 Matlab & R: Comparison # maximize # x + y + 2 z # subject to # x + 2 y + 3 z <= 4 # x + y >= 1 # x, y, z binary # Construct model model <- list() model$a <- matrix(c(1,2,3,1,1,0), nrow=2, ncol=3, byrow=t) model$obj <- c(1,1,2) model$modelsense <- 'max' model$rhs <- c(4,1) model$sense <- c('<', '>') model$vtype <- 'B' # Solve result <- gurobi(model) # Print solution vector print(result$x) % maximize % x + y + 2 z % subject to % x + 2 y + 3 z <= 4 % x + y >= 1 % x, y, z binary % Construct model model.a = sparse([1 2 3; 1 1 0]); model.obj = [1, 1, 2]; model.rhs = [4, 1]; model.sense = '<>'; model.vtype = 'B'; model.modelsense = 'max'; % Solve result = gurobi(model); % Print solution vector disp(result.x); Copyright 2018, Gurobi Optimization, Inc. 5

6 Setting Parameters Second input argument to gurobi function Signature: gurobi(model, params) Matlab: params is a struct (again!) R: params is a list (again!) Use params to control limits, tolerances and algorithmic behavior Exhaustive list of parameters: documentation No need to dive into that without reason; defaults work well for most problems % Set a log file params.logfile = 'mylog.txt'; % Use barrier algorithm params.method = 2; % 10% MIPGap tolerance params.mipgap = 0.1; % Solve result = gurobi(model, params); params <- list() # Set a log file params$logfile <- 'mylog.txt' # Use barrier algorithm params$method <- 2 # 10% MIPGap tolerance params$mipgap <- 0.1 # Solve result <- gurobi(model, params) Copyright 2018, Gurobi Optimization, Inc. 6

7 The Zoo of model Fields / Components A obj sense rhs lb ub vtype modelsense modelname objcon varnames constrnames Q quadcon sos multiobj genconmax genconmin genconabs genconand genconor genconind pwlobj varhintval varhintpri branchpriority pstart dstart lazy start partition vbasis cbasis Copyright 2018, Gurobi Optimization, Inc. 7

8 New Fields in 8.0: General Constraints A obj sense rhs lb ub vtype modelsense modelname objcon varnames constrnames Q quadcon sos multiobj genconmax genconmin genconabs genconand genconor genconind pwlobj varhintval varhintpri branchpriority pstart dstart lazy start partition vbasis cbasis Copyright 2018, Gurobi Optimization, Inc. 8

9 General Constraints Model logical dependencies between binary variables:! = #$%( ' (, ' *, ' + )! = -.( ' (, ' *, ' + ) Model min, max and abs functions:! = min{3 (, 3 *, 3 + }! = max{3 (, 3 *, 3 + }! = abs{3 ( } Model logical implications ( indicator constraint ): If the binary variable ' is true, then the constraint 9 : 3 < must be satisfied Input through corresponding fields / components in model struct/list genconmax, genconmin, genconabs, genconand, genconor, genconind Copyright 2018, Gurobi Optimization, Inc. 9

10 Toy Examples % max r % s.t. r = AND(x,y,z,w) % r, x, y, z, w binary m.a = sparse(0,5); m.modelsense = 'max'; m.obj = [1,0,0,0,0]; m.varnames = {'r','x','y','z','w'}; m.genconand.resvar = 1; m.genconand.vars = [2,3,4,5]; res = gurobi(m); % min x + y + z + w % s.t. r1 = OR(x,y) % r2 = OR(z,w) % r1 + r2 >= 2 % r1, r2, x, y, z, w binary m.obj = [0,0,1,1,1,1]; m.a = sparse([1,1,0,0,0,0]); m.sense = '>'; m.rhs = 2; m.varnames = {'r1','r2','x','y','z','w'}; m.genconor(1).resvar = 1; m.genconor(1).vars = [3,4]; m.genconor(2).resvar = 2; m.genconor(2).vars = [5,6]; res = gurobi(m); Copyright 2018, Gurobi Optimization, Inc. 10

11 Anatomy of genconand R: model$genconand is a list of lists model$genconand[[1]] AND constr. #1 model$genconand[[2]] AND constr. #2 ( ) Matlab: model.genconand is a struct array model.genconand(1) AND constr. #1 model.genconand(2) AND constr. #2 ( ) Fields of genconand(i) / Components of genconand[[i]] resvar index of resultant binary variable vars indices of argument binary variables name constraint name Anatomy of other general constraints is similar Full documentation in the reference manual and constraints overview Examples in the distribution: workforce5.{m,r}, genconstr.{m,r} Copyright 2018, Gurobi Optimization, Inc. 11

12 New in 8.0: Multiple Objectives A obj sense rhs lb ub vtype modelsense modelname objcon varnames constrnames Q quadcon sos multiobj genconmax genconmin genconabs genconand genconor genconind pwlobj varhintval varhintpri branchpriority pstart dstart lazy start partition vbasis cbasis Copyright 2018, Gurobi Optimization, Inc. 12

13 Multiple Objectives Let s say that!(#) and %(#) are linear functions We want to solve min!(#) and %(#) s.t. &# = (, # 0 What does it mean? Blended optimization We want to minimize +,! # + +. %(#) for some weight factors +,, +. Hierarchical optimization We want to solve min!(#) s.t. %(#) minimal, &# = (, # 0 Combinations of the two types Any number of objective functions Copyright 2018, Gurobi Optimization, Inc. 13

14 A Toy Example % minimize % -1/2 * (x + y + 2 z) * (x) % subject to % x + 2 y + 3 z <= 4 % x + y >= 1 % Construct model m.a = sparse([1 2 3; 1 1 0]); m.rhs = [4, 1]; m.sense = '<>'; m.multiobj(1).objn = [1, 1, 2]; m.multiobj(1).weight = -0.5; m.multiobj(2).objn = [1, 0, 0]; m.multiobj(2).weight = 1.0; % Solve result = gurobi(m); % minimize % x % subject to % x + y + 2 z -> minimal % x + 2 y + 3 z <= 4 % x + y >= 1 % Construct model m.a = sparse([1 2 3; 1 1 0]); m.rhs = [4, 1]; m.sense = '<>'; m.multiobj(1).objn = [1, 1, 2]; m.multiobj(1).priority = 1; m.multiobj(2).objn = [1, 0, 0]; m.multiobj(2).priority = 0; % Solve result = gurobi(m); Copyright 2018, Gurobi Optimization, Inc. 14

15 Anatomy of multiobj R: model$multiobj is a list of lists model$multiobj[[1]] objective #1 model$multiobj[[2]] objective #2 ( ) Matlab: model.multiobj is a struct array model.multiobj(1) objective #1 model.multiobj(2) objective #2 ( ) Fields of multiobj(i) / Components of multiobj[[i]] objn objective function vector ( n-th objective ) objcon objective constant priority priority for hierarchical objectives weight weight factor for blended objectives reltol relative degradation tolerance for hierarchical objectives abstol absolute degradation tolerance for hierarchical objectives name objective name Full documentation in the reference manual and the multiobjective overview Examples in the distribution: workforce5.{m,r}, multiobj.{m,r} Copyright 2018, Gurobi Optimization, Inc. 15

16 Querying Multiple Solutions m = gurobi_read('misc07'); res = gurobi(m); m <- gurobi_read('misc07') res <- gurobi(m) Optimize a model with 212 rows, 260 columns and 8619 nonzeros Variable types: 1 continuous, 259 integer (0 binary) [...] H % s H % s H % s H % s H % s Explored 3925 nodes (44769 simplex iterations) in 1.56 seconds Thread count was 4 (of 4 available processors) Solution count 7: Solution pool Optimal solution found (tolerance 1.00e-04) Best objective e+03, best bound e+03, gap % Copyright 2018, Gurobi Optimization, Inc. 16

17 New in 8.0: Access to the Solution Pool > m <- gurobi_read('misc07') > res <- gurobi(m) > str(res$pool) List of 7 $ :List of 2..$ objval: num $ xn : num [1:260] $ :List of 2..$ objval: num $ xn : num [1:260] $ :List of 2..$ objval: num $ xn : num [1:260] $ :List of 2..$ objval: num $ xn : num [1:260] $ :List of 2..$ objval: num $ xn : num [1:260] $ :List of 2..$ objval: num $ xn : num [1:260] $ :List of 2..$ objval: num $ xn : num [1:260] >> m = gurobi_read('misc07'); >> res = gurobi(m); >> disp(res.pool) 1x7 struct array with fields: objval xn >> res.pool(2).objval ans = 2875 Copyright 2018, Gurobi Optimization, Inc. 17

18 Anatomy of pool R: result$pool is a list of lists result$pool[[1]] solution #1 result$pool[[2]] solution #2 ( ) Matlab: result.pool is a struct array result.pool(1) solution #1 result.pool(2) solution #2 ( ) Fields of pool(i) / Components of pool[[i]] objval objective value of i-th solution xn variable values of the i-th solution ( n-th x ) Pool population is controlled by parameters params.poolsolutions sets the pool size params.poolsearchmode sets how the pool is populated Full documentation in the reference manual and in the solution pool overview Examples in the distribution: mip2.{m,r}, multiobj.{m,r}, poolsearch.{m,r} Copyright 2018, Gurobi Optimization, Inc. 18

19 New in 8.0: Integration with Remote Services Local setup: Build model and solve it on a local machine Gurobi Remote Services: Build model locally, but solve on a remote machine Capabilities greatly improved in Gurobi 8.0 Gurobi Instant Cloud Easy-to-use cloud solution provided by Gurobi Built on top of EC2 All communication with cloud instance via HTTPS Gurobi Compute Server Allows to setup a local compute host in your network Or a whole cluster of local compute nodes Automatic load balancing and queue management Copyright 2018, Gurobi Optimization, Inc. 19

20 It s That Easy We only need to pass cloud / compute server configuration data to the gurobi function: m <- gurobi_read('misc07') env <- list() env$accessid <- 'hgs2352v-5adf-3fc6h5zf--13ac26787a19' env$secretkey <- 'topsecret' res <- gurobi(m, env=env) Instant Cloud from R m = gurobi_read('misc07'); env.computeserver = 'localhost:33334'; env.password = 'password'; res = gurobi(m, [], env); Compute Server from Matlab Copyright 2018, Gurobi Optimization, Inc. 20

21 Anatomy of the env struct/list R: env is a list (just like model and params) Matlab: env is a struct (just like model and params) Fields/components for Instant Cloud: accessid access ID for cloud license secretkey key for cloud license pool destination pool for job priority job priority Fields/components for Compute Server: computeserver server name/port password access password router router for the cluster priority job priority tlsinsecure switch for insecure TLS mode Full documentation: Reference manual for env struct Remote Services reference manual Copyright 2018, Gurobi Optimization, Inc. 21

Major New Features in Gurobi 7.0

Major New Features in Gurobi 7.0 Advanced Models Major New Features in Gurobi 7.0 Python modeling enhancements Much more direct mapping from mathematical notation to code General constraints Shorthand for modeling common logical constraints

More information

Gurobi Implementation

Gurobi Implementation Gurobi Implementation Outlines Introduction Installing Gurobi Creating a visual studio C++ project for Groubi Building and solving Gurobi model page: 2 Introduction (1/4) Gurobi is a state-of-the-art solver

More information

What's New In Gurobi 5.0. Dr. Edward Rothberg

What's New In Gurobi 5.0. Dr. Edward Rothberg What's New In Gurobi 5.0 Dr. Edward Rothberg Our Main Goals for Gurobi 5.0 Expand the reach of the product: New problem types: Quadratic constraints: QCP, SOCP, MIQCP Massive numbers of constraints: Through

More information

Package Rcplex. June 12, 2016

Package Rcplex. June 12, 2016 Version 0.3-3 Date 2016-06-09 Title R Interface to CPLEX Package Rcplex June 12, 2016 Description R interface to CPLEX solvers for linear, quadratic, and (linear and quadratic) mixed integer programs.

More information

Package Rcplex. February 15, 2013

Package Rcplex. February 15, 2013 Version 0.3-1 Date 2013-02-13 Title R interface to CPLEX Package Rcplex February 15, 2013 Author Hector Corrada Bravo, with contributions from Stefan Theussl and Kurt Hornik Maintainer Hector Corrada Bravo

More information

cplexapi Quick Start

cplexapi Quick Start cplexapi Quick Start Gabriel Gelius-Dietrich January 30, 2017 1 Introduction The package cplexapi provides a low level interface to the C API of IBM ILOG CPLEX 1. The package cplexapi requires a working

More information

lpsymphony - Integer Linear Programming in R

lpsymphony - Integer Linear Programming in R lpsymphony - Integer Linear Programming in R Vladislav Kim October 30, 2017 Contents 1 Introduction 2 2 lpsymphony: Quick Start 2 3 Integer Linear Programming 5 31 Equivalent and Dual Formulations 5 32

More information

What's New in Gurobi 7.0

What's New in Gurobi 7.0 What's New in Gurobi 7.0 What's New? New employees New features in 7.0 Major and minor Performance improvements New Gurobi Instant Cloud 2 The newest members of the Gurobi team Daniel Espinoza Senior Developer

More information

Gurobi Guidelines for Numerical Issues February 2017

Gurobi Guidelines for Numerical Issues February 2017 Gurobi Guidelines for Numerical Issues February 2017 Background Models with numerical issues can lead to undesirable results: slow performance, wrong answers or inconsistent behavior. When solving a model

More information

Welcome to the Webinar. What s New in Gurobi 7.5

Welcome to the Webinar. What s New in Gurobi 7.5 Welcome to the Webinar What s New in Gurobi 7.5 Speaker Introduction Dr. Tobias Achterberg Director of R&D at Gurobi Optimization Formerly a developer at ILOG, where he worked on CPLEX 11.0 to 12.6 Obtained

More information

3. Pyomo Fundamentals

3. 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 information

Agenda. Understanding advanced modeling techniques takes some time and experience No exercises today Ask questions!

Agenda. Understanding advanced modeling techniques takes some time and experience No exercises today Ask questions! Modeling 2 Agenda Understanding advanced modeling techniques takes some time and experience No exercises today Ask questions! Part 1: Overview of selected modeling techniques Background Range constraints

More information

Motivation for Heuristics

Motivation for Heuristics MIP Heuristics 1 Motivation for Heuristics Why not wait for branching? Produce feasible solutions as quickly as possible Often satisfies user demands Avoid exploring unproductive sub trees Better reduced

More information

NEOS.jl (and other things)

NEOS.jl (and other things) NEOS.jl (and other things) Oscar Dowson Department of Engineering Science, University of Auckland, New Zealand. o.dowson@auckland.ac.nz Overview 1. The NEOS Server 2. NEOS.jl interface with MPB 3. File

More information

Package lpsymphony. February 6, 2018

Package lpsymphony. February 6, 2018 Package lpsymphony February 6, 2018 Title Symphony integer linear programming solver in R Version 1.7.0 Description This package was derived from Rsymphony_0.1-17 from CRAN. These packages provide an R

More information

SE Memory Consumption

SE Memory Consumption Page 1 of 5 view online Overview Calculating the utilization of memory within a Service Engine (SE) is useful to estimate the number of concurrent connections or the amount of memory that may be allocated

More information

Gábor Imre MADFAST SIMILARITY SEARCH

Gábor Imre MADFAST SIMILARITY SEARCH Gábor Imre MADFAST SIMILARITY SEARCH How fast is MadFast? Some numbers measured on an Amazon EC2 c3.8xlarge/r3.8xlarge machine How fast is MadFast? Some numbers measured on an Amazon EC2 c3.8xlarge/r3.8xlarge

More information

SE Memory Consumption

SE Memory Consumption Page 1 of 5 SE Memory Consumption view online Calculating the utilization of memory within a Service Engine is useful to estimate the number of concurrent connections or the amount of memory that may be

More information

Package Rglpk. May 18, 2017

Package Rglpk. May 18, 2017 Version 0.6-3 Title R/GNU Linear Programming Kit Interface Package Rglpk May 18, 2017 Description R interface to the GNU Linear Programming Kit. 'GLPK' is open source software for solving large-scale linear

More information

GUROBI 1 GUROBI Installation 2 GUROBI Using the Matlab Interface 3 GUROBI Features 4 GUROBI Appendix A 5 GUROBI Appendix B 13 GUROBI Appendix C 19

GUROBI 1 GUROBI Installation 2 GUROBI Using the Matlab Interface 3 GUROBI Features 4 GUROBI Appendix A 5 GUROBI Appendix B 13 GUROBI Appendix C 19 GUROBI PDF generated using the open source mwlib toolkit. See http://code.pediapress.com/ for more information. PDF generated at: Sat, 21 Jan 2012 17:27:25 UTC Contents Articles GUROBI 1 GUROBI Installation

More information

7 Control Structures, Logical Statements

7 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 information

.NET Library for Seamless Remote Execution of Supercomputing Software

.NET Library for Seamless Remote Execution of Supercomputing Software .NET Library for Seamless Remote Execution of Supercomputing Software Alexander Tsidaev 1,2 1 Bulashevich Institute of Geophysics, Yekaterinburg, Russia 2 Ural Federal University, Yekaterinburg, Russia

More information

Lab #10 Multi-dimensional Arrays

Lab #10 Multi-dimensional Arrays Multi-dimensional Arrays Sheet s Owner Student ID Name Signature Group partner 1. Two-Dimensional Arrays Arrays that we have seen and used so far are one dimensional arrays, where each element is indexed

More information

The Ascendance of the Dual Simplex Method: A Geometric View

The Ascendance of the Dual Simplex Method: A Geometric View The Ascendance of the Dual Simplex Method: A Geometric View Robert Fourer 4er@ampl.com AMPL Optimization Inc. www.ampl.com +1 773-336-AMPL U.S.-Mexico Workshop on Optimization and Its Applications Huatulco

More information

Mean Value Analysis and Related Techniques

Mean Value Analysis and Related Techniques Mean Value Analysis and Related Techniques 34-1 Overview 1. Analysis of Open Queueing Networks 2. Mean-Value Analysis 3. Approximate MVA 4. Balanced Job Bounds 34-2 Analysis of Open Queueing Networks Used

More information

QoS-Aware Admission Control in Heterogeneous Datacenters

QoS-Aware Admission Control in Heterogeneous Datacenters QoS-Aware Admission Control in Heterogeneous Datacenters Christina Delimitrou, Nick Bambos and Christos Kozyrakis Stanford University ICAC June 28 th 2013 Cloud DC Scheduling Workloads DC Scheduler S S

More information

Gurobify. A GAP interface to Gurobi Optimizer Jesse Lansdown. 25 October 2017

Gurobify. A GAP interface to Gurobi Optimizer Jesse Lansdown. 25 October 2017 Gurobify A GAP interface to Gurobi Optimizer. 1.1.1 25 October 2017 Jesse Lansdown Jesse Lansdown Email: jesse.lansdown@research.uwa.edu.au Homepage: http://www.jesselansdown.com Address: Jesse Lansdown

More information

Using the OPTMODEL Procedure in SAS/OR to Solve Complex Problems. Rob Pratt, Senior R&D Manager, SAS/OR

Using the OPTMODEL Procedure in SAS/OR to Solve Complex Problems. Rob Pratt, Senior R&D Manager, SAS/OR Using the OPTMODEL Procedure in SAS/OR to Solve Complex Problems Rob Pratt, Senior R&D Manager, SAS/OR Outline 1 Recent Features in PROC OPTMODEL 2 Graph Partitioning with Connectivity Constraints 2 /

More information

1. Represent each of these relations on {1, 2, 3} with a matrix (with the elements of this set listed in increasing order).

1. 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 information

Solving Scenarios in the Cloud

Solving Scenarios in the Cloud Solving Scenarios in the Cloud Franz Nelißen FNelissen@gams.com GAMS Development Corp. GAMS Software GmbH www.gams.com GAMS - History Roots: World Bank, 1976 Alex Meerausfounded GAMS Development Corp.

More information

optlang Documentation

optlang Documentation optlang Documentation Release 1.4.2-2-g8da74d1-dirty Niko Sonnenschein Aug 09, 2018 Contents 1 Quick start 3 1.1 Using a particular solver......................................... 4 1.2 Quadratic programming.........................................

More information

Solving Linear Programs Using the Simplex Method (Manual)

Solving Linear Programs Using the Simplex Method (Manual) Solving Linear Programs Using the Simplex Method (Manual) GáborRétvári E-mail: retvari@tmit.bme.hu The GNU Octave Simplex Solver Implementation As part of the course material two simple GNU Octave/MATLAB

More information

Julian Hall School of Mathematics University of Edinburgh. June 15th Parallel matrix inversion for the revised simplex method - a study

Julian Hall School of Mathematics University of Edinburgh. June 15th Parallel matrix inversion for the revised simplex method - a study Parallel matrix inversion for the revised simplex method - A study Julian Hall School of Mathematics University of Edinburgh June 5th 006 Parallel matrix inversion for the revised simplex method - a study

More information

Section 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 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 information

Package Rcsdp. April 25, 2016

Package Rcsdp. April 25, 2016 Package Rcsdp April 25, 2016 Version 0.1.55 Title R Interface to the CSDP Semidefinite Programming Library Author Hector Corrada Bravo (CSDP by Brian Borchers) Maintainer Hector Corrada Bravo

More information

Package ROI.plugin.lpsolve

Package ROI.plugin.lpsolve Package ROI.plugin.lpsolve January 16, 2018 Version 0.3-1 Title 'lp_solve' Plugin for the 'R' Optimization Infrastructure Author Florian Schwendinger [aut, cre] Maintainer Florian Schwendinger

More information

Chapter 6 Parallel Loops

Chapter 6 Parallel Loops Chapter 6 Parallel Loops Part I. Preliminaries Part II. Tightly Coupled Multicore Chapter 6. Parallel Loops Chapter 7. Parallel Loop Schedules Chapter 8. Parallel Reduction Chapter 9. Reduction Variables

More information

Package svd. R topics documented: March 24, Type Package. Title Interfaces to various state-of-art SVD and eigensolvers. Version 0.3.

Package svd. R topics documented: March 24, Type Package. Title Interfaces to various state-of-art SVD and eigensolvers. Version 0.3. Package svd March 24, 2013 Type Package Title Interfaces to various state-of-art SVD and eigensolvers Version 0.3.1-1 Date 2013-03-24 Author Anton Korobeynikov Maintainer Anton Korobeynikov

More information

High performance computing and the simplex method

High performance computing and the simplex method Julian Hall, Qi Huangfu and Edmund Smith School of Mathematics University of Edinburgh 12th April 2011 The simplex method for LP Not... Nonlinear programming... Integer programming... Stochastic programming......

More information

Recap: Functions as first-class values

Recap: Functions as first-class values Recap: Functions as first-class values Arguments, return values, bindings What are the benefits? Parameterized, similar functions (e.g. Testers) Creating, (Returning) Functions Iterator, Accumul, Reuse

More information

Topics. Introduction. Specific tuning/troubleshooting topics "It crashed" Gurobi parameters The tuning tool. LP tuning. MIP tuning

Topics. Introduction. Specific tuning/troubleshooting topics It crashed Gurobi parameters The tuning tool. LP tuning. MIP tuning Tuning II Topics Introduction Gurobi parameters The tuning tool Specific tuning/troubleshooting topics "It crashed" The importance of being specific LP tuning The importance of scaling MIP tuning Performance

More information

Package LSDinterface

Package LSDinterface Type Package Title Reading LSD Results (.res) Files Version 0.3.1 Date 2017-11-24 Author Package LSDinterface November 27, 2017 Maintainer Interfaces R with LSD. Reads object-oriented

More information

Combinatorial Optimization Lab No. 10 Traveling Salesman Problem

Combinatorial Optimization Lab No. 10 Traveling Salesman Problem Combinatorial Optimization Lab No. 10 Traveling Salesman Problem Industrial Informatics Research Center http://industrialinformatics.cz/ May 29, 2018 Abstract In this lab we review various ways how to

More information

GUROBI OPTIMIZER REMOTE SERVICES MANUAL. Version 8.0, Copyright c 2018, Gurobi Optimization, LLC

GUROBI OPTIMIZER REMOTE SERVICES MANUAL. Version 8.0, Copyright c 2018, Gurobi Optimization, LLC GUROBI OPTIMIZER REMOTE SERVICES MANUAL Version 8.0, Copyright c 2018, Gurobi Optimization, LLC Contents 1 Introduction 4 2 Gurobi Compute Server and Remote Services Overview 5 2.1 Compute Server.......................................

More information

Elastic Load Balance. User Guide. Issue 14 Date

Elastic Load Balance. User Guide. Issue 14 Date Issue 14 Date 2018-02-28 Contents Contents 1 Overview... 1 1.1 Basic Concepts... 1 1.1.1 Elastic Load Balance... 1 1.1.2 Public Network Load Balancer...1 1.1.3 Private Network Load Balancer... 2 1.1.4

More information

IBM ILOG CPLEX Optimization Studio Getting Started with CPLEX for MATLAB. Version 12 Release 6

IBM ILOG CPLEX Optimization Studio Getting Started with CPLEX for MATLAB. Version 12 Release 6 IBM ILOG CPLEX Optimization Studio Getting Started with CPLEX for MATLAB Version 12 Release 6 Copyright notice Describes general use restrictions and trademarks related to this document and the software

More information

SMPL - A Simplified Modeling Language for Mathematical Programming

SMPL - A Simplified Modeling Language for Mathematical Programming SMPL - A Simplified Modeling Language for Mathematical Programming Mihály Csaba Markót November 3, 2008 1 Purpose and Scope This working paper describes SMPL, an initiative of a Simplified Modeling Language

More information

ΠΙΝΑΚΑΣ ΠΛΑΝΟΥ ΕΚΠΑΙΔΕΥΣΗΣ

ΠΙΝΑΚΑΣ ΠΛΑΝΟΥ ΕΚΠΑΙΔΕΥΣΗΣ ΠΑΡΑΡΤΗΜΑ «Β» ΠΙΝΑΚΑΣ ΠΛΑΝΟΥ ΕΚΠΑΙΔΕΥΣΗΣ Α/Α ΠΕΡΙΓΡΑΦΗ ΕΚΠΑΙΔΕΥΣΗΣ ΘΕΜΑΤΙΚΕΣ ΕΝΟΤΗΤΕΣ 1. Java SE8 Fundamentals What Is a Java Program? Introduction to Computer Programs Key Features of the Java Language

More information

An Extension of the Multicut L-Shaped Method. INEN Large-Scale Stochastic Optimization Semester project. Svyatoslav Trukhanov

An Extension of the Multicut L-Shaped Method. INEN Large-Scale Stochastic Optimization Semester project. Svyatoslav Trukhanov An Extension of the Multicut L-Shaped Method INEN 698 - Large-Scale Stochastic Optimization Semester project Svyatoslav Trukhanov December 13, 2005 1 Contents 1 Introduction and Literature Review 3 2 Formal

More information

Integer Programming Chapter 9

Integer Programming Chapter 9 1 Integer Programming Chapter 9 University of Chicago Booth School of Business Kipp Martin October 30, 2017 2 Outline Branch and Bound Theory Branch and Bound Linear Programming Node Selection Strategies

More information

Constraint Branching and Disjunctive Cuts for Mixed Integer Programs

Constraint Branching and Disjunctive Cuts for Mixed Integer Programs Constraint Branching and Disunctive Cuts for Mixed Integer Programs Constraint Branching and Disunctive Cuts for Mixed Integer Programs Michael Perregaard Dash Optimization Constraint Branching and Disunctive

More information

Package ibbig. R topics documented: December 24, 2018

Package ibbig. R topics documented: December 24, 2018 Type Package Title Iterative Binary Biclustering of Genesets Version 1.26.0 Date 2011-11-23 Author Daniel Gusenleitner, Aedin Culhane Package ibbig December 24, 2018 Maintainer Aedin Culhane

More information

Lecture 4: Principles of Parallel Algorithm Design (part 4)

Lecture 4: Principles of Parallel Algorithm Design (part 4) Lecture 4: Principles of Parallel Algorithm Design (part 4) 1 Mapping Technique for Load Balancing Minimize execution time Reduce overheads of execution Sources of overheads: Inter-process interaction

More information

Iterative Signature Algorithm for the Analysis of Large-Scale Gene Expression Data. By S. Bergmann, J. Ihmels, N. Barkai

Iterative Signature Algorithm for the Analysis of Large-Scale Gene Expression Data. By S. Bergmann, J. Ihmels, N. Barkai Iterative Signature Algorithm for the Analysis of Large-Scale Gene Expression Data By S. Bergmann, J. Ihmels, N. Barkai Reasoning Both clustering and Singular Value Decomposition(SVD) are useful tools

More information

Parallel and Distributed Computing with MATLAB The MathWorks, Inc. 1

Parallel and Distributed Computing with MATLAB The MathWorks, Inc. 1 Parallel and Distributed Computing with MATLAB 2018 The MathWorks, Inc. 1 Practical Application of Parallel Computing Why parallel computing? Need faster insight on more complex problems with larger datasets

More information

Solving Large-Scale Energy System Models

Solving Large-Scale Energy System Models Solving Large-Scale Energy System Models Frederik Fiand Operations Research Analyst GAMS Software GmbH GAMS Development Corp. GAMS Software GmbH www.gams.com Agenda 1. GAMS System Overview 2. BEAM-ME Background

More information

CS 61A, Fall, 2002, Midterm #2, L. Rowe. 1. (10 points, 1 point each part) Consider the following five box-and-arrow diagrams.

CS 61A, Fall, 2002, Midterm #2, L. Rowe. 1. (10 points, 1 point each part) Consider the following five box-and-arrow diagrams. CS 61A, Fall, 2002, Midterm #2, L. Rowe 1. (10 points, 1 point each part) Consider the following five box-and-arrow diagrams. a) d) 3 1 2 3 1 2 e) b) 3 c) 1 2 3 1 2 1 2 For each of the following Scheme

More information

DATA SCIENCE USING SPARK: AN INTRODUCTION

DATA SCIENCE USING SPARK: AN INTRODUCTION DATA SCIENCE USING SPARK: AN INTRODUCTION TOPICS COVERED Introduction to Spark Getting Started with Spark Programming in Spark Data Science with Spark What next? 2 DATA SCIENCE PROCESS Exploratory Data

More information

Program Development (SAS IML)

Program Development (SAS IML) Program Development (SAS IML) τρ 1 Review SAS IML Functions for generating matrix BLOCK Function I Function J Function REPEAT Function SHAPE Function 2 BLOCK Forms block-diagonal matrices The BLOCK function

More information

Eigen's class hierarchy

Eigen's class hierarchy Eigen's class hierarchy 3 Expression templates Example: Expression templates: + returns an expression Sum v3 = v1 + v2 + v3; + expression tree Sum

More information

3 Interior Point Method

3 Interior Point Method 3 Interior Point Method Linear programming (LP) is one of the most useful mathematical techniques. Recent advances in computer technology and algorithms have improved computational speed by several orders

More information

Summer 2009 REU: Introduction to Some Advanced Topics in Computational Mathematics

Summer 2009 REU: Introduction to Some Advanced Topics in Computational Mathematics Summer 2009 REU: Introduction to Some Advanced Topics in Computational Mathematics Moysey Brio & Paul Dostert July 4, 2009 1 / 18 Sparse Matrices In many areas of applied mathematics and modeling, one

More information

Chapter 3 : Topology basics

Chapter 3 : Topology basics 1 Chapter 3 : Topology basics What is the network topology Nomenclature Traffic pattern Performance Packaging cost Case study: the SGI Origin 2000 2 Network topology (1) It corresponds to the static arrangement

More information

MATLAB to iphone Made Easy

MATLAB to iphone Made Easy MATLAB to iphone Made Easy Generating readable and portable C code from your MATLAB algorithms for your iphone or ipad app Bill Chou 2014 The MathWorks, Inc. 1 2 4 Quick Demo MATLAB Coder >> Demo 5 Agenda

More information

MATLAB: The greatest thing ever. Why is MATLAB so great? Nobody s perfect, not even MATLAB. Prof. Dionne Aleman. Excellent matrix/vector handling

MATLAB: The greatest thing ever. Why is MATLAB so great? Nobody s perfect, not even MATLAB. Prof. Dionne Aleman. Excellent matrix/vector handling MATLAB: The greatest thing ever Prof. Dionne Aleman MIE250: Fundamentals of object-oriented programming University of Toronto MIE250: Fundamentals of object-oriented programming (Aleman) MATLAB 1 / 1 Why

More information

Package svd. R topics documented: September 26, 2017

Package svd. R topics documented: September 26, 2017 Package svd September 26, 2017 Type Package Imports methods Suggests testthat (>= 0.7) Title Interfaces to Various State-of-Art SVD and Eigensolvers Version 0.4.1 Author Anton Korobeynikov [aut, cre],

More information

function [s p] = sumprod (f, g)

function [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 information

ECE 250 Algorithms and Data Structures

ECE 250 Algorithms and Data Structures ECE 250 Algorithms and Data Structures Sections 001 and 002 FINAL EXAMINATION Douglas Wilhelm Harder dwharder@uwaterloo.ca EIT 4018 x37023 2015-4-15T16:00/18:30 Rooms: PAC 6, 7 IF YOU ARE NOT ENROLLED

More information

Cell Based Servers for Next-Gen Games

Cell Based Servers for Next-Gen Games Cell BE for Digital Animation and Visual F/X Cell Based Servers for Next-Gen Games Cell BE Online Game Prototype Bruce D Amora T.J. Watson Research Yorktown Heights, NY Karen Magerlein T.J. Watson Research

More information

1) What is information system? Describe the basic concepts of information systems.

1) What is information system? Describe the basic concepts of information systems. (DMSIT 01) ASSIGNMENT - 1, DEC - 2018. PAPER- I : BASICS OF 1) What is information system? Describe the basic concepts of information systems. 2) Discuss about input and output technologies of computer

More information

Using ODHeuristics To Solve Hard Mixed Integer Programming Problems. Alkis Vazacopoulos Robert Ashford Optimization Direct Inc.

Using ODHeuristics To Solve Hard Mixed Integer Programming Problems. Alkis Vazacopoulos Robert Ashford Optimization Direct Inc. Using ODHeuristics To Solve Hard Mixed Integer Programming Problems Alkis Vazacopoulos Robert Ashford Optimization Direct Inc. February 2017 Summary Challenges of Large Scale Optimization Exploiting parallel

More information

CSC 8301 Design & Analysis of Algorithms: Warshall s, Floyd s, and Prim s algorithms

CSC 8301 Design & Analysis of Algorithms: Warshall s, Floyd s, and Prim s algorithms CSC 8301 Design & Analysis of Algorithms: Warshall s, Floyd s, and Prim s algorithms Professor Henry Carter Fall 2016 Recap Space-time tradeoffs allow for faster algorithms at the cost of space complexity

More information

LocalSolver A New Kind of Math Programming Solver

LocalSolver A New Kind of Math Programming Solver LocalSolver A New Kind of Math Programming Solver Thierry Benoist Julien Darlay Bertrand Estellon Frédéric Gardi Romain Megel jdarlay@localsolver.com www.localsolver.com 1/18 Who are we? Bouygues, one

More information

Parallel and Distributed Computing with MATLAB Gerardo Hernández Manager, Application Engineer

Parallel and Distributed Computing with MATLAB Gerardo Hernández Manager, Application Engineer Parallel and Distributed Computing with MATLAB Gerardo Hernández Manager, Application Engineer 2018 The MathWorks, Inc. 1 Practical Application of Parallel Computing Why parallel computing? Need faster

More information

Linear and Integer Programming :Algorithms in the Real World. Related Optimization Problems. How important is optimization?

Linear and Integer Programming :Algorithms in the Real World. Related Optimization Problems. How important is optimization? Linear and Integer Programming 15-853:Algorithms in the Real World Linear and Integer Programming I Introduction Geometric Interpretation Simplex Method Linear or Integer programming maximize z = c T x

More information

5.5 Example: Transforming an Adjacency Matrix, R-Callable Code

5.5 Example: Transforming an Adjacency Matrix, R-Callable Code 127 5.5 Example: Transforming an Adjacency Matrix, R-Callable Code A typical application might involve an analyst writing most of his code in R, for convenience, but write the parallel part of the code

More information

End-Term Examination Second Semester [MCA] MAY-JUNE 2006

End-Term Examination Second Semester [MCA] MAY-JUNE 2006 (Please write your Roll No. immediately) Roll No. Paper Code: MCA-102 End-Term Examination Second Semester [MCA] MAY-JUNE 2006 Subject: Data Structure Time: 3 Hours Maximum Marks: 60 Note: Question 1.

More information

ILOG CPLEX 10.0 Interactive Optimizer January 2006

ILOG CPLEX 10.0 Interactive Optimizer January 2006 ILOG CPLEX 10.0 Interactive Optimizer January 2006 ILOG CPLEX 10.0 INTERACTIVE OPTIMIZER COMMANDS 1 COPYRIGHT NOTICE Copyright 1987-2006, by ILOG S.A. and ILOG, Inc., All rights reserved. General Use Restrictions

More information

Distributed Scheduling for the Sombrero Single Address Space Distributed Operating System

Distributed Scheduling for the Sombrero Single Address Space Distributed Operating System Distributed Scheduling for the Sombrero Single Address Space Distributed Operating System Donald S. Miller Department of Computer Science and Engineering Arizona State University Tempe, AZ, USA Alan C.

More information

DEPLOYMENT GUIDE Version 1.1. DNS Traffic Management using the BIG-IP Local Traffic Manager

DEPLOYMENT GUIDE Version 1.1. DNS Traffic Management using the BIG-IP Local Traffic Manager DEPLOYMENT GUIDE Version 1.1 DNS Traffic Management using the BIG-IP Local Traffic Manager Table of Contents Table of Contents Introducing DNS server traffic management with the BIG-IP LTM Prerequisites

More information

Ordinary Differential Equation Solver Language (ODESL) Reference Manual

Ordinary Differential Equation Solver Language (ODESL) Reference Manual Ordinary Differential Equation Solver Language (ODESL) Reference Manual Rui Chen 11/03/2010 1. Introduction ODESL is a computer language specifically designed to solve ordinary differential equations (ODE

More information

ROPI. A Robust Optimization Programming Interface Version 0.1.0

ROPI. A Robust Optimization Programming Interface Version 0.1.0 ROPI A Robust Optimization Programming Interface Version 0.1.0 Written by Marc Goerigk Institute for Numerical and Applied Mathematics University of Göttingen, Germany m.goerigk@math.uni-goettingen.de

More information

Clustering. Informal goal. General types of clustering. Applications: Clustering in information search and analysis. Example applications in search

Clustering. Informal goal. General types of clustering. Applications: Clustering in information search and analysis. Example applications in search Informal goal Clustering Given set of objects and measure of similarity between them, group similar objects together What mean by similar? What is good grouping? Computation time / quality tradeoff 1 2

More information

Finding Similar Sets. Applications Shingling Minhashing Locality-Sensitive Hashing

Finding Similar Sets. Applications Shingling Minhashing Locality-Sensitive Hashing Finding Similar Sets Applications Shingling Minhashing Locality-Sensitive Hashing Goals Many Web-mining problems can be expressed as finding similar sets:. Pages with similar words, e.g., for classification

More information

R Language: What is R? Why R? Why not R?

R Language: What is R? Why R? Why not R? R Language: What is R? Why R? Why not R? Prof. Algirdas Pakštas Vilnius University Institute of Mathematics and Informatics Department of Systems Analysis a.pakstas@ieee.org Presented: 6:45 PM Wednesday,

More information

Math Models of OR: The Simplex Algorithm: Practical Considerations

Math Models of OR: The Simplex Algorithm: Practical Considerations Math Models of OR: The Simplex Algorithm: Practical Considerations John E. Mitchell Department of Mathematical Sciences RPI, Troy, NY 12180 USA September 2018 Mitchell Simplex Algorithm: Practical Considerations

More information

University of Waterloo Department of Electrical and Computer Engineering ECE 250 Data Structures and Algorithms. Final Examination

University of Waterloo Department of Electrical and Computer Engineering ECE 250 Data Structures and Algorithms. Final Examination University of Waterloo Department of Electrical and Computer Engineering ECE 250 Data Structures and Algorithms Instructor: Douglas Wilhelm Harder Time: 2.5 hours Aides: none 14 pages Final Examination

More information

Package ECOSolveR. February 18, 2018

Package ECOSolveR. February 18, 2018 Package ECOSolveR Type Package Title Embedded Conic Solver in R Version 0.4 Date 2018-02-16 VignetteBuilder knitr SystemRequirements GNU make February 18, 2018 URL https://github.com/bnaras/ecosolver BugReports

More information

Blended Learning Outline: Developer Training for Apache Spark and Hadoop (180404a)

Blended Learning Outline: Developer Training for Apache Spark and Hadoop (180404a) Blended Learning Outline: Developer Training for Apache Spark and Hadoop (180404a) Cloudera s Developer Training for Apache Spark and Hadoop delivers the key concepts and expertise need to develop high-performance

More information

Package ompr. November 18, 2017

Package ompr. November 18, 2017 Type Package Package ompr November 18, 2017 Title Model and Solve Mixed Integer Linear Programs Version 0.7.0 Model mixed integer linear programs in an algebraic way directly in R. The is solver-independent

More information

Software Engineering Software Testing Techniques

Software Engineering Software Testing Techniques Software Engineering Software Testing Techniques 1 Testability Operability it it operates cleanly Observability the the results of each test case are readily observed Controllability the the degree to

More information

This matrix is not TU since the submatrix shown below has determinant of

This 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 information

M.Sc. (CS) Second Semester Examination (Year 2016) Data Structures & Algorithms Subject Code: MSC-201 Paper Code: TMT-141

M.Sc. (CS) Second Semester Examination (Year 2016) Data Structures & Algorithms Subject Code: MSC-201 Paper Code: TMT-141 Time : 10 Minutes M.Marks : 10 M.Sc. (CS) Second Semester Examination (Year 2016) Data Structures & Algorithms Subject Code: MSC-201 Paper Code: TMT-141 Section A (Objective Type Questions) Roll No. Enrollment

More information

Relational and Logical Statements

Relational and Logical Statements Relational and Logical Statements Relational Operators in MATLAB A operator B A and B can be: Variables or constants or expressions to compute Scalars or arrays Numeric or string Operators: > (greater

More information

MATLAB Lecture 1. Introduction to MATLAB

MATLAB Lecture 1. Introduction to MATLAB MATLAB Lecture 1. Introduction to MATLAB 1.1 The MATLAB environment MATLAB is a software program that allows you to compute interactively with matrices. If you want to know for instance the product of

More information

Aquaforest CheckPoint Reference Guide

Aquaforest CheckPoint Reference Guide Aquaforest CheckPoint Reference Guide Version 1.02 January 2018 Aquaforest Limited 2001-2018 Web: www.aquaforest.com E-mail: info@aquaforest.com Contents 1 Product Overview... 1 2 Installation and Licensing...

More information

Parallelisation. Michael O Boyle. March 2014

Parallelisation. Michael O Boyle. March 2014 Parallelisation Michael O Boyle March 2014 1 Lecture Overview Parallelisation for fork/join Mapping parallelism to shared memory multi-processors Loop distribution and fusion Data Partitioning and SPMD

More information

Overview AEG Conclusion CS 6V Automatic Exploit Generation (AEG) Matthew Stephen. Department of Computer Science University of Texas at Dallas

Overview AEG Conclusion CS 6V Automatic Exploit Generation (AEG) Matthew Stephen. Department of Computer Science University of Texas at Dallas CS 6V81.005 Automatic Exploit Generation (AEG) Matthew Stephen Department of Computer Science University of Texas at Dallas February 20 th, 2012 Outline 1 Overview Introduction Considerations 2 AEG Challenges

More information

Optimizing and Accelerating Your MATLAB Code

Optimizing and Accelerating Your MATLAB Code Optimizing and Accelerating Your MATLAB Code Sofia Mosesson Senior Application Engineer 2016 The MathWorks, Inc. 1 Agenda Optimizing for loops and using vector and matrix operations Indexing in different

More information

Cluster-Based Scalable Network Services

Cluster-Based Scalable Network Services Cluster-Based Scalable Network Services Suhas Uppalapati INFT 803 Oct 05 1999 (Source : Fox, Gribble, Chawathe, and Brewer, SOSP, 1997) Requirements for SNS Incremental scalability and overflow growth

More information