con tent all head design principles that make the difference · design principles that make the...

33
GAMS Development Corp. GAMS Software GmbH www.gams.com Design Principles that Make the Difference Franz Nelissen: [email protected]

Upload: others

Post on 22-Jul-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Con tent ALl Head Design Principles that Make the Difference · Design Principles that Make the Difference Franz Nelissen: FNelissen@gams.com Con tent ALl Head . GENERAL ALGEBRAIC

GAMS Development Corp. GAMS Software GmbH www.gams.com

Design Principles that Make the Difference

Franz Nelissen: [email protected]

Content

ALl

Head

Page 2: Con tent ALl Head Design Principles that Make the Difference · Design Principles that Make the Difference Franz Nelissen: FNelissen@gams.com Con tent ALl Head . GENERAL ALGEBRAIC

GENERAL ALGEBRAIC MODELING SYSTEM

2

Company Background

Roots: World Bank, 1976

GAMS Development Corporation (Washington)

Tool Provider: General Algebraic Modeling System

Went commercial in 1987

GAMS Software GmbH (Cologne, Braunschweig)

1996

Page 3: Con tent ALl Head Design Principles that Make the Difference · Design Principles that Make the Difference Franz Nelissen: FNelissen@gams.com Con tent ALl Head . GENERAL ALGEBRAIC

GENERAL ALGEBRAIC MODELING SYSTEM

3

Agenda

Algebraic Modeling Languages – A Success Story

GAMS – Highlights and Design Principles

Model Deployment

Page 4: Con tent ALl Head Design Principles that Make the Difference · Design Principles that Make the Difference Franz Nelissen: FNelissen@gams.com Con tent ALl Head . GENERAL ALGEBRAIC

GENERAL ALGEBRAIC MODELING SYSTEM

4

1976 - A World Bank Slide

The

Vision

Page 5: Con tent ALl Head Design Principles that Make the Difference · Design Principles that Make the Difference Franz Nelissen: FNelissen@gams.com Con tent ALl Head . GENERAL ALGEBRAIC

GENERAL ALGEBRAIC MODELING SYSTEM

5

Algebraic Modeling Languages (AML)

1

• High-level computer programming languages

• Formulation of mathematical optimization problems

• Notation similar to algebraic notation

2 • Do not solve problems directly, but offer links to state-of-

the-art algorithms (“solver-links”)

Source: http://en.wikipedia.org/wiki/Algebraic_modeling_language

Page 6: Con tent ALl Head Design Principles that Make the Difference · Design Principles that Make the Difference Franz Nelissen: FNelissen@gams.com Con tent ALl Head . GENERAL ALGEBRAIC

GENERAL ALGEBRAIC MODELING SYSTEM

6

Impact of Algebraic Modeling Languages

Simplified model development, changes, and transfer

Increased productivity, quality, reliability and maintainability

Made a scarce resource (good modelers) more productive

Why not use current big data systems

Impact of AML

1

2

Important vehicle to make mathematical optimization available to a broader audience

3

Page 7: Con tent ALl Head Design Principles that Make the Difference · Design Principles that Make the Difference Franz Nelissen: FNelissen@gams.com Con tent ALl Head . GENERAL ALGEBRAIC

GENERAL ALGEBRAIC MODELING SYSTEM

7

2012 INFORMS Impact Prize

Originators of Algebraic Modeling Languages

36 Years

later

Page 8: Con tent ALl Head Design Principles that Make the Difference · Design Principles that Make the Difference Franz Nelissen: FNelissen@gams.com Con tent ALl Head . GENERAL ALGEBRAIC

GENERAL ALGEBRAIC MODELING SYSTEM

8

Agenda

Algebraic Modeling Languages – A Success Story

GAMS – Highlights and Design Principles

Model Deployment

Page 9: Con tent ALl Head Design Principles that Make the Difference · Design Principles that Make the Difference Franz Nelissen: FNelissen@gams.com Con tent ALl Head . GENERAL ALGEBRAIC

GENERAL ALGEBRAIC MODELING SYSTEM

9

What does he have to think about?

Why use an AML like GAMS?

1. Problem

2. Mathematics

3. Programming

4. Performance

5. Scalability

6. Connectivity

7. Deployment

8. Maintenance (Life Cycle)

9. ...

Page 10: Con tent ALl Head Design Principles that Make the Difference · Design Principles that Make the Difference Franz Nelissen: FNelissen@gams.com Con tent ALl Head . GENERAL ALGEBRAIC

GENERAL ALGEBRAIC MODELING SYSTEM

10

Broad User Community and Network

GAMS used in more than 120 countries

25+ Years GAMS Development

Page 11: Con tent ALl Head Design Principles that Make the Difference · Design Principles that Make the Difference Franz Nelissen: FNelissen@gams.com Con tent ALl Head . GENERAL ALGEBRAIC

GENERAL ALGEBRAIC MODELING SYSTEM

11

Broad User Community and Network

More than 10,000 licenses

50% academic users, 50% commercial users

6,000+ monthly downloads of the free system

25+ Years GAMS Development

Page 12: Con tent ALl Head Design Principles that Make the Difference · Design Principles that Make the Difference Franz Nelissen: FNelissen@gams.com Con tent ALl Head . GENERAL ALGEBRAIC

GENERAL ALGEBRAIC MODELING SYSTEM

12

Broad Range of Application Areas

25+ Years GAMS Development

Agricultural Economics Applied General Equilibrium

Chemical Engineering Economic Development

Econometrics Energy

Environmental Economics Engineering

Finance Forestry

International Trade Logistics

Macro Economics Military

Management Science/OR Mathematics

Micro Economics Physics

Page 13: Con tent ALl Head Design Principles that Make the Difference · Design Principles that Make the Difference Franz Nelissen: FNelissen@gams.com Con tent ALl Head . GENERAL ALGEBRAIC

GENERAL ALGEBRAIC MODELING SYSTEM

13

Strong Development Environment

GAMS IDE • Project management • Editor / Syntax coloring / Spell checks • Listing file / Tree view / Syntax-error

navigation • Model Debugging / Profiling • Solver selection / Option selection • Data viewer

• Export • Charting

• GAMS Process Control • Model Libraries -1250 Models included

Everything for rapid model development

Page 14: Con tent ALl Head Design Principles that Make the Difference · Design Principles that Make the Difference Franz Nelissen: FNelissen@gams.com Con tent ALl Head . GENERAL ALGEBRAIC

GENERAL ALGEBRAIC MODELING SYSTEM

14

Design Principles

Model

Platform Solver Data Interface

1 • Simple modeling language with a balanced mix of

declarative and procedural elements

2 • Open architecture and interfaces to other systems

3 • Independent layers

Page 15: Con tent ALl Head Design Principles that Make the Difference · Design Principles that Make the Difference Franz Nelissen: FNelissen@gams.com Con tent ALl Head . GENERAL ALGEBRAIC

GENERAL ALGEBRAIC MODELING SYSTEM

15

1 • Language similar to mathematical notation

2 • Few basic language elements: sets, parameters,

variables, equations, models Easy to learn

3 • Lot‘s of code optimization under the hood

Simple Declarative Language

Model

Platform Solver Data Interface

Page 16: Con tent ALl Head Design Principles that Make the Difference · Design Principles that Make the Difference Franz Nelissen: FNelissen@gams.com Con tent ALl Head . GENERAL ALGEBRAIC

GENERAL ALGEBRAIC MODELING SYSTEM

Content

ALl

Head

16

Example

Model is executable description of the problem

Page 17: Con tent ALl Head Design Principles that Make the Difference · Design Principles that Make the Difference Franz Nelissen: FNelissen@gams.com Con tent ALl Head . GENERAL ALGEBRAIC

GENERAL ALGEBRAIC MODELING SYSTEM

17

Mix of Declarative and Procedural Elements

Procedural elements like loops, for, if, macros and functions

Allow to build complex problem algorithms within GAMS

Interaction with other systems: • Job control • Data exchange

Model

Platform Solver Data Interface

Combine models inside the language

Page 18: Con tent ALl Head Design Principles that Make the Difference · Design Principles that Make the Difference Franz Nelissen: FNelissen@gams.com Con tent ALl Head . GENERAL ALGEBRAIC

GENERAL ALGEBRAIC MODELING SYSTEM

18

Independence of Model and Operating System

Platforms supported by GAMS:

Model

Platform Solver Data Interface

Models can be moved between platforms with ease!

Page 19: Con tent ALl Head Design Principles that Make the Difference · Design Principles that Make the Difference Franz Nelissen: FNelissen@gams.com Con tent ALl Head . GENERAL ALGEBRAIC

GENERAL ALGEBRAIC MODELING SYSTEM

19

Independence of Model and Solver

All major commercial LP/MIP solver

Open Source Solver (COIN) Also solver for NLP, MINLP,

global, and stochastic optimization

One environment for a wide range of model types and solvers

Switching between solvers with one line of code!

Model

Platform Solver Data Interface

Page 20: Con tent ALl Head Design Principles that Make the Difference · Design Principles that Make the Difference Franz Nelissen: FNelissen@gams.com Con tent ALl Head . GENERAL ALGEBRAIC

GENERAL ALGEBRAIC MODELING SYSTEM

20

Independence of Model and Data

Application GAMS ASCII

• ASCII: Initial model development

• GDX: Binary Data layer (“contract”) between GAMS and applications – Platform independent – Direct GDX interfaces and

general API

Model

Platform Solver Data Interface

Application

GAMS

SOLVER

GDX

• Declarative Modeling: x(j), j∈{1,…}

Page 21: Con tent ALl Head Design Principles that Make the Difference · Design Principles that Make the Difference Franz Nelissen: FNelissen@gams.com Con tent ALl Head . GENERAL ALGEBRAIC

GENERAL ALGEBRAIC MODELING SYSTEM

21

Independence of Model and User Interface

Model

Platform Solver Data Interface

1

• Open architecture and interfaces to other systems No preference for a particular user interface

2 • Application Programming Interfaces

• Low Level

• Object Oriented: .Net, Java, Python, …

3 • Smart Links to popular environments

• Excel, MATLAB, R, ...

Page 22: Con tent ALl Head Design Principles that Make the Difference · Design Principles that Make the Difference Franz Nelissen: FNelissen@gams.com Con tent ALl Head . GENERAL ALGEBRAIC

GENERAL ALGEBRAIC MODELING SYSTEM

22

Agenda

Algebraic Modeling Languages – A Success Story

GAMS – Highlights and Design Principles

Model Deployment

Page 23: Con tent ALl Head Design Principles that Make the Difference · Design Principles that Make the Difference Franz Nelissen: FNelissen@gams.com Con tent ALl Head . GENERAL ALGEBRAIC

GENERAL ALGEBRAIC MODELING SYSTEM

23

Is Optimization special?

Observation:

Optimization models - are expensive to develop - may have long a lifespan

Modeling Systems & Applications have to be adjusted - New computer paradigms - New solver technology and solution methods - New graphical user interfaces and deployment environments

Page 24: Con tent ALl Head Design Principles that Make the Difference · Design Principles that Make the Difference Franz Nelissen: FNelissen@gams.com Con tent ALl Head . GENERAL ALGEBRAIC

GENERAL ALGEBRAIC MODELING SYSTEM

Content

ALl

Head

24

Change in Focus: Past

Computation Users: Left out

Model Users: Involved

Application Users: Not aware of model

Page 25: Con tent ALl Head Design Principles that Make the Difference · Design Principles that Make the Difference Franz Nelissen: FNelissen@gams.com Con tent ALl Head . GENERAL ALGEBRAIC

GENERAL ALGEBRAIC MODELING SYSTEM

Content

ALl

Head

25

Change in Focus: Now

Computation Users: Left out

Model Users: Involved

Application Users: Not aware of model

Page 26: Con tent ALl Head Design Principles that Make the Difference · Design Principles that Make the Difference Franz Nelissen: FNelissen@gams.com Con tent ALl Head . GENERAL ALGEBRAIC

GENERAL ALGEBRAIC MODELING SYSTEM

Content

ALl

Head

26

Computation Users: Left out

Model Users: Involved

Application Users: Not aware of model

Change in Focus: Now / Future

Page 27: Con tent ALl Head Design Principles that Make the Difference · Design Principles that Make the Difference Franz Nelissen: FNelissen@gams.com Con tent ALl Head . GENERAL ALGEBRAIC

GENERAL ALGEBRAIC MODELING SYSTEM

Content

ALl

Head

27

Change in Focus: Modeler…

Small Community: 2010 ~ 64,000 OR Analytic Professionals in the US

Page 28: Con tent ALl Head Design Principles that Make the Difference · Design Principles that Make the Difference Franz Nelissen: FNelissen@gams.com Con tent ALl Head . GENERAL ALGEBRAIC

GENERAL ALGEBRAIC MODELING SYSTEM

28

Change in Focus: Application Developer

• Software Architecture, Object Oriented Design

• Components, Encapsulation, Classes, Data Acess Layer,..

• Agile Programming, Mesh, …

Huge Community: 2006 ~ 3.3 Mill. IT Professionals in the US (2006)

Rapidly changing IT environments

Page 29: Con tent ALl Head Design Principles that Make the Difference · Design Principles that Make the Difference Franz Nelissen: FNelissen@gams.com Con tent ALl Head . GENERAL ALGEBRAIC

GENERAL ALGEBRAIC MODELING SYSTEM

Content

ALl

Head

29

• Add “AML” to existing analytical software system

• “large” user base, e.g. MATLAB, or SAS

Example – All in One – Top Down

GUI Builder

Established Application Interface

Monolithic Application

Solver

Analytical Software

AML

Page 30: Con tent ALl Head Design Principles that Make the Difference · Design Principles that Make the Difference Franz Nelissen: FNelissen@gams.com Con tent ALl Head . GENERAL ALGEBRAIC

GENERAL ALGEBRAIC MODELING SYSTEM

Content

ALl

Head

30

• Integrate GUI-builder into AML

• “small” user base, e.g. AIMMS (Pro) or FICO Xpress-Insight

Example – All in One – Bottom Up

Solver

GUI Builder

AML

Monolithic Application

Page 31: Con tent ALl Head Design Principles that Make the Difference · Design Principles that Make the Difference Franz Nelissen: FNelissen@gams.com Con tent ALl Head . GENERAL ALGEBRAIC

GENERAL ALGEBRAIC MODELING SYSTEM

Content

ALl

Head

31

– “Construction Kit” with

different connected elements – Use (open source) existing

framework to build applications, e.g. IBM ODME

Application Framework e.g. Eclipse (IBM), NetBeans

(Oracle), .NET (Microsoft)

AML

“Composite Application”

Database

Solver

Analytical Software

Example – Composite Application

Page 32: Con tent ALl Head Design Principles that Make the Difference · Design Principles that Make the Difference Franz Nelissen: FNelissen@gams.com Con tent ALl Head . GENERAL ALGEBRAIC

GENERAL ALGEBRAIC MODELING SYSTEM

32

Summary

AML – A Success Story

Design Principles

• Simple, but powerful language

• Open interfaces

• Different layers

Model Deployment

• Is optimization special?

• Provide cutting edge technology

• Don’t lock developers and users into a certain environment

Page 33: Con tent ALl Head Design Principles that Make the Difference · Design Principles that Make the Difference Franz Nelissen: FNelissen@gams.com Con tent ALl Head . GENERAL ALGEBRAIC

GAMS Development Corp. GAMS Software GmbH www.gams.com

Thank You USA

GAMS Development Corp. 1217 Potomac Street, NW Washington, DC 20007

USA Phone: +1 202 342 0180 Fax: +1 202 342 0181

[email protected]

Europe GAMS Software GmbH P.O. Box 40 59 50216 Frechen, Germany Phone: +49 221 949 9170 Fax: +49 221 949 9171 [email protected]