Next Generation Decision Support Systems for Railroad Planning...VB .NET and ASP .NET Java ESRI GIS...

54
1 Ravindra K. Ahuja Professor, University of Florida & President, Innovative Scheduling Next Generation Decision Support Systems for Railroad Planning

Transcript of Next Generation Decision Support Systems for Railroad Planning...VB .NET and ASP .NET Java ESRI GIS...

Page 1: Next Generation Decision Support Systems for Railroad Planning...VB .NET and ASP .NET Java ESRI GIS programming for maps Decision Support Systems Building Skills Excel-based applications

1

Ravindra K. AhujaProfessor, University of Florida & President, Innovative Scheduling

Next Generation Decision Support Systems

for Railroad Planning

Page 2: Next Generation Decision Support Systems for Railroad Planning...VB .NET and ASP .NET Java ESRI GIS programming for maps Decision Support Systems Building Skills Excel-based applications

2

2

Presentation Outline

Overview

Railroad Blocking Optimizer

Train Scheduling Optimizer

Locomotive Planning Optimizer

Overview of Other Systems

Lessons Learnt

Page 3: Next Generation Decision Support Systems for Railroad Planning...VB .NET and ASP .NET Java ESRI GIS programming for maps Decision Support Systems Building Skills Excel-based applications

3

3

Origin of Innovative Scheduling

Started research on railroad planning and scheduling problems in2000.

The company started its formal operations in 2004 with a single employee and a Phase I grant from NSF’s Small Business Innovations Research (SBIR) Program.

Received second SBIR Grant in 2005.

Started commercialization of software immediately.

Started forming development partnerships with companies to buildproducts.

The company now has about 20 full-time employees and 8-10 part-time employees.

Page 4: Next Generation Decision Support Systems for Railroad Planning...VB .NET and ASP .NET Java ESRI GIS programming for maps Decision Support Systems Building Skills Excel-based applications

4

4

Our Core Strength

Ability to solve very complex decision problems efficiently: Blocking problem

Train scheduling problem

Locomotive planning, simulation problems

Crew planning and scheduling problems

Expertise in a variety of Operations Research techniques: Linear programming

Integer programming

Network flows and discrete optimization

Several heuristic techniques

Simulation techniques

Combine a variety of OR techniques to solve large-scale decision problems very efficiently.

Page 5: Next Generation Decision Support Systems for Railroad Planning...VB .NET and ASP .NET Java ESRI GIS programming for maps Decision Support Systems Building Skills Excel-based applications

5

5

Programming and IT Skills

Programming Skills: C++

Concert Technology, CPLEX

VB .NET and ASP .NET

Java

ESRI GIS programming for maps

Decision Support Systems Building Skills Excel-based applications

Desktop-based applications

Web-based applications

Most of our solution engines are developed in C++/Java and packaged within web-enabled applications.

Page 6: Next Generation Decision Support Systems for Railroad Planning...VB .NET and ASP .NET Java ESRI GIS programming for maps Decision Support Systems Building Skills Excel-based applications

6

6

Our Railroad Decision Support Systems

Innovative Railroad Blocking Optimizer (IRBO)

Innovative Train Scheduling Optimizer (ITSO)

Innovative Locomotive Planning Optimizer (ILPO)

Innovative Locomotive Simulation Optimizer (ILSO)

Innovative Crew Scheduling Optimizer (ICSO)

Innovative Hump Yard Manager (IHYM)

Innovative Network Flow Analyzer (INFA)

Innovative Locomotive Shop Router (ILSR)

Innovative Yard Simulation Optimizer (IYSO)

Page 7: Next Generation Decision Support Systems for Railroad Planning...VB .NET and ASP .NET Java ESRI GIS programming for maps Decision Support Systems Building Skills Excel-based applications

7

7

Presentation Outline

Overview

Railroad Blocking Optimizer

Train Scheduling Optimizer

Locomotive Planning Optimizer

Overview of Other Systems

Lessons Learnt

Page 8: Next Generation Decision Support Systems for Railroad Planning...VB .NET and ASP .NET Java ESRI GIS programming for maps Decision Support Systems Building Skills Excel-based applications

8

8

Service Design Plan

Train Scheduling

Blocking Problem

LocomotiveScheduling

CrewScheduling

Railroad Planning and Scheduling

YardOperations

Page 9: Next Generation Decision Support Systems for Railroad Planning...VB .NET and ASP .NET Java ESRI GIS programming for maps Decision Support Systems Building Skills Excel-based applications

9

9

Consolidation Problem

Railroad blocking problem is essentially a consolidation problem, which is similar to that encountered in postal service design.

Gainesville Gainesville

A railroad block is like a mailbag in the postal service context.

Page 10: Next Generation Decision Support Systems for Railroad Planning...VB .NET and ASP .NET Java ESRI GIS programming for maps Decision Support Systems Building Skills Excel-based applications

10

10

Railroad Blocking Problem

OriginsOriginsDestinationsDestinations

YardsYards

Page 11: Next Generation Decision Support Systems for Railroad Planning...VB .NET and ASP .NET Java ESRI GIS programming for maps Decision Support Systems Building Skills Excel-based applications

11

11

The Railroad Blocking Model

Railroad Blocking

Model

Railroad Blocking

Model

Network

Shipments

Blocks

Shipment BlockAssignments

Constraints:Constraints:

Maximum number of blocks that can be build at a node is limited.

Maximum volume of shipments passing through a node is limited.

Objective Function:Objective Function:

Distances traveled by shipments

Intermediate handlings of shipments

Page 12: Next Generation Decision Support Systems for Railroad Planning...VB .NET and ASP .NET Java ESRI GIS programming for maps Decision Support Systems Building Skills Excel-based applications

12

12

Literature Survey

ABM (Algorithmic Blocking Model) by Carl Van Dyke [1986, 1988]

Keaton [1989, 1992]

Newton, Barnhart and Vance [1998]

Barnhart and Vance [2000]

The railroad blocking problem remained an unsolved problem until recently.

Page 13: Next Generation Decision Support Systems for Railroad Planning...VB .NET and ASP .NET Java ESRI GIS programming for maps Decision Support Systems Building Skills Excel-based applications

13

13

Our Contributions

Multi-commodity flow network design and routing problem:

3,000 nodes

50,000 commodities

Over a million 0-1 network design variables

Hundreds of billions of integer flow variables

We developed a very large-scale neighborhood (VLSN) search algorithm to solve this problem to near-optimality within one-two hours.

Can also do incremental blocking and handle a variety of practical constraints.

Page 14: Next Generation Decision Support Systems for Railroad Planning...VB .NET and ASP .NET Java ESRI GIS programming for maps Decision Support Systems Building Skills Excel-based applications

14

14

Overview of the VLSN Search Algorithm

1

2

3

4

5

6

7

8

9

10

11

We reoptimize blocks at one node at a time assuming that blocks do not change at other nodes.

We reoptimize all nodes one-by-one and keep performing passes over the nodes until the solution terminates to a local optimal solution.

Page 15: Next Generation Decision Support Systems for Railroad Planning...VB .NET and ASP .NET Java ESRI GIS programming for maps Decision Support Systems Building Skills Excel-based applications

15

15

Computational Results: Incremental Blocking

7.9%0.5%0.9%

10.5%0.5%1.9%

14.1%0.5%3.8%

% Savings in Intermediate

Handlings

% Savings in Car Miles

% New Blocks

19.1%0.6%9.5%

Conclusion: Even small changes in the blocking plan can have significant impact on intermediate handlings.

Page 16: Next Generation Decision Support Systems for Railroad Planning...VB .NET and ASP .NET Java ESRI GIS programming for maps Decision Support Systems Building Skills Excel-based applications

16

16

Railroad Users

Consulting Activities:CSX Transportation in One Plan

Norfolk Southern in TOP II Plan

BNSF Railway in its current operating plan

Union Pacific in its Unified Plan

Licensing:Norfolk Southern

BNSF Railway

Potential Future Clients:Union Pacific

Canadian National

SNCF (France)

Deutsche Bahn (Germany)

Page 17: Next Generation Decision Support Systems for Railroad Planning...VB .NET and ASP .NET Java ESRI GIS programming for maps Decision Support Systems Building Skills Excel-based applications

17

17

Presentation Outline

Overview

Railroad Blocking Optimizer

Train Scheduling Optimizer

Locomotive Planning Optimizer

Overview of Other Systems

Lessons Learnt

Page 18: Next Generation Decision Support Systems for Railroad Planning...VB .NET and ASP .NET Java ESRI GIS programming for maps Decision Support Systems Building Skills Excel-based applications

18

18

Flow of Blocks on Trains

1 2 3 4 5 6 7

7

8

9

10

1 2 3 4 5 6

Page 19: Next Generation Decision Support Systems for Railroad Planning...VB .NET and ASP .NET Java ESRI GIS programming for maps Decision Support Systems Building Skills Excel-based applications

19

19

Train Schedule Design Problem

Train SchedulingOptimizer

Train SchedulingOptimizer

Blocks Trains

Block-to-TrainAssignments

Trip Plan

Shipments

Shipment-BlockAssignments

Locomotive

Balanced CrewAssignment

Balanced LocomotiveAssignment

Crew

Page 20: Next Generation Decision Support Systems for Railroad Planning...VB .NET and ASP .NET Java ESRI GIS programming for maps Decision Support Systems Building Skills Excel-based applications

20

20

Decision Variables

Constraints

Yard capacity constraints

Line capacity constraints

Train capacity constraints

Business rules

Decision:

Train origins, destinations, and routes

Train days of operation and train times

Train block-to-train assignment by day of the week

Trip plans for all cars

Locomotive assignment

Crew assignment

Page 21: Next Generation Decision Support Systems for Railroad Planning...VB .NET and ASP .NET Java ESRI GIS programming for maps Decision Support Systems Building Skills Excel-based applications

21

21

Contribution: Integration of Railroad Resources

ITSOITSOITSO

We consider these three resources by maintaining three time-space networks.

CrewCrew LocomotiveLocomotive

RailcarRailcarC

on

stra

ined

by N

etw

ork

Cap

aci

ty

Co

nstra

ined

by O

pera

ting

Ru

les

Page 22: Next Generation Decision Support Systems for Railroad Planning...VB .NET and ASP .NET Java ESRI GIS programming for maps Decision Support Systems Building Skills Excel-based applications

22

22

Railcar Flow Network

We construct the weekly time-space train network and flow railcars through this network.

Train 1

Train 1

Train 2

Train 2

Train 3

Train 5

Ground Nodes

Tim

e

car

car

car

car

carcar

carcar

carcarcar

carcarcar

carcarcar

carcar carcar

carcarcar

carcarcar

Page 23: Next Generation Decision Support Systems for Railroad Planning...VB .NET and ASP .NET Java ESRI GIS programming for maps Decision Support Systems Building Skills Excel-based applications

23

23

Locomotive Flow Network

We construct the weekly space-time train network and locomotives cycle through this network.

Train 1

Train 4

Train 5

Train 2

Train 3

Train 6

Page 24: Next Generation Decision Support Systems for Railroad Planning...VB .NET and ASP .NET Java ESRI GIS programming for maps Decision Support Systems Building Skills Excel-based applications

24

24

Crew Scheduling at US Railroads

Each train requires a crew and changes crew at several locations as it travels from its origin to its destination.

1 2 3 4 5 6 7

1 2 3 4 5 6 7

Page 25: Next Generation Decision Support Systems for Railroad Planning...VB .NET and ASP .NET Java ESRI GIS programming for maps Decision Support Systems Building Skills Excel-based applications

25

25

Crew Flow Network

Home Terminal Away Terminal

Time 1

3

5

7

10

12

14

4

6

8

11

13

Train ArcsDeadhead Arcs

Rest Arcs

We construct the weekly space-time crew network and crews cycle through this network.

We create a separate network for each crew district.

Page 26: Next Generation Decision Support Systems for Railroad Planning...VB .NET and ASP .NET Java ESRI GIS programming for maps Decision Support Systems Building Skills Excel-based applications

26

26

Constraints

Yard ConstraintsNumber of trains originating at any node in each given time window is limited.

Number of trains terminating at any node in each given time window is limited.

Number of trains passing through each node in each given time window is limited.

Track ConstraintsSpeed of a train on a track depends upon the type of train.

Number of trains passing through any corridor in any given time window is limited.

Satisfy headway constraints

Page 27: Next Generation Decision Support Systems for Railroad Planning...VB .NET and ASP .NET Java ESRI GIS programming for maps Decision Support Systems Building Skills Excel-based applications

27

27

Constraints (contd.)

Train Capacity ConstraintsThe number of cars on any train is limited

The length of any train is limited

The weight-carrying capacity of any train is limited

No more than specified number of blocks per train

Number of stops of a train is limited

Locomotive ConstraintsHonor locomotive minimum connection times between trains

Provide number of locomotive based on train tonnages

Crew ConstraintsHonor crew minimum connection times between trains

Honor crew union rules related to work and rest

Page 28: Next Generation Decision Support Systems for Railroad Planning...VB .NET and ASP .NET Java ESRI GIS programming for maps Decision Support Systems Building Skills Excel-based applications

28

28

Objective Function Terms

Train miles

Car miles

Car days

Block swaps

Loco cost

Crew cost

Train starts

Page 29: Next Generation Decision Support Systems for Railroad Planning...VB .NET and ASP .NET Java ESRI GIS programming for maps Decision Support Systems Building Skills Excel-based applications

29

29

Our Contribution

Problem size:Number of railcars: 125,000

Number of locomotives: 2,000 – 4,000

Number of crew districts: 300-400

Number of crews: 4,000-6,000

We have developed a computer program to solve this problem within 1-2 hours on a laptop.

Uses a variety of operations research techniques:Construction heuristics

Network flows & Linear programming

Neighborhood search

Very large-scale neighborhood (VLSN) search

Page 30: Next Generation Decision Support Systems for Railroad Planning...VB .NET and ASP .NET Java ESRI GIS programming for maps Decision Support Systems Building Skills Excel-based applications

30

30

A Two-Stage Decomposition Process

Train Route Optimization

Train schedule without timeTrain routesBlock-train assignmentLocomotive assignmentCrew assignment

Train Details Optimization

Train schedule with timeTrain routesBlock-train assignmentLocomotive assignmentCrew assignment

Page 31: Next Generation Decision Support Systems for Railroad Planning...VB .NET and ASP .NET Java ESRI GIS programming for maps Decision Support Systems Building Skills Excel-based applications

31

31

Train Route Optimization

Construction

• Enumerate all potential train routes

• Determine the goodness of each route

• Select the best route

• Repeat until all blocks are routed

• Enumerate all potential train routes

• Determine the goodness of each route

• Select the best route

• Repeat until all blocks are routed

Improvement

• Improve routes using neighborhood search

• Improve routes using VLSN search

Determine train schedule without train times andday of operation.

Page 32: Next Generation Decision Support Systems for Railroad Planning...VB .NET and ASP .NET Java ESRI GIS programming for maps Decision Support Systems Building Skills Excel-based applications

32

32

Train Details Optimization

Decide train arrival and departure times at each stop node on

the route

Train Time Optimization

• Optimize one train time by considering all possible options.

• Honor all constraints.

• Repeat for all trains one by one until a local optimal solution is obtained.

• Optimize one train time by considering all possible options.

• Honor all constraints.

• Repeat for all trains one by one until a local optimal solution is obtained.

Decide operating days

of trains

Train Operating Days Optimization

• Optimize one train’s operating days by performing add/drop/ exchanges.

• Honor all constraints.

• Repeat for all trains one by one until a local optimal solution is obtained.

• Optimize one train’s operating days by performing add/drop/ exchanges.

• Honor all constraints.

• Repeat for all trains one by one until a local optimal solution is obtained.

Decideblock-to-trainassignments

by day of week

Block-to-Train Optimization

• Optimize one block’s assignment to trains by considering all options.

• Honor all constraints.

• Repeat for all blocks one by one until a local optimal solution is obtained.

• Optimize one block’s assignment to trains by considering all options.

• Honor all constraints.

• Repeat for all blocks one by one until a local optimal solution is obtained.

Page 33: Next Generation Decision Support Systems for Railroad Planning...VB .NET and ASP .NET Java ESRI GIS programming for maps Decision Support Systems Building Skills Excel-based applications

33

33

Three Time-Space Networks

Crew Network

Locomotive Network

Railcar Network

Page 34: Next Generation Decision Support Systems for Railroad Planning...VB .NET and ASP .NET Java ESRI GIS programming for maps Decision Support Systems Building Skills Excel-based applications

34

34

Two Modes of Train Scheduling

Clean-Slate Incremental

OptimizerOptimizer

Network, Block and shipment related inputs

New train schedule,Block-Train Assign.,

Trip Plans

OptimizerOptimizer

Network, Block and Shipment

Inputs

Revised Train Schedule, Block-Train Assign.,

Trip Plans

Current Train

Schedule

Scope of change in train plan

Page 35: Next Generation Decision Support Systems for Railroad Planning...VB .NET and ASP .NET Java ESRI GIS programming for maps Decision Support Systems Building Skills Excel-based applications

35

35

Current Status

Computational results show 3%-4% improvements in cost.

Developmental partnership with BNSF. Deployment already started.

Page 36: Next Generation Decision Support Systems for Railroad Planning...VB .NET and ASP .NET Java ESRI GIS programming for maps Decision Support Systems Building Skills Excel-based applications

36

36

Presentation Outline

Overview

Railroad Blocking Optimizer

Train Scheduling Optimizer

Locomotive Planning Optimizer

Overview of Other Systems

Lessons Learnt

Page 37: Next Generation Decision Support Systems for Railroad Planning...VB .NET and ASP .NET Java ESRI GIS programming for maps Decision Support Systems Building Skills Excel-based applications

37

37

LocomotivePlanning Optimizer

Train Schedules,Tonnages & HP

Consist Assignment• Active power• Deadhead power• Light travel

Yard Reports• Dwell time• Daily supply-demand

inventory • Train-to-train connections

Locomotive FleetDescription

Locomotive Planning Optimizer

Constraints

Objective Function

Standard Consists

Page 38: Next Generation Decision Support Systems for Railroad Planning...VB .NET and ASP .NET Java ESRI GIS programming for maps Decision Support Systems Building Skills Excel-based applications

38

38

Locomotive Flow Network

We construct the weekly space-time train network and locomotives cycle through this network.

Train 1

Train 4

Train 5

Train 2

Train 3

Train 6

Page 39: Next Generation Decision Support Systems for Railroad Planning...VB .NET and ASP .NET Java ESRI GIS programming for maps Decision Support Systems Building Skills Excel-based applications

39

39

The Underlying Model

Objective FunctionLocomotive active pulling cost

Locomotive deadhead cost

Locomotive idling cost

Locomotive light travel cost

Locomotive ownership cost

Standard ConstraintsEach train must get sufficient tonnage and sufficient HP

Assign only pre-specified consist types to trains

Honor constraints on min/max locomotives per train

Allow locomotive imbalances at some nodes

Honor fleet size requirements

Weekly repeatable constraints

Incorporate maintenance constraints

Page 40: Next Generation Decision Support Systems for Railroad Planning...VB .NET and ASP .NET Java ESRI GIS programming for maps Decision Support Systems Building Skills Excel-based applications

40

40

Our Contribution

We developed a novel methodology to solve this highly constrained problem efficiently using network flows and mixed integer programming.

We can solve this problem within an hour on a desktop computer.

Demonstrated a savings of 4% - 5% in the number of locomotives used to run the train plan.

One-Day Locomotive Optimizer

Input Data Solution

Seven-Day Locomotive Optimizer

Hybrid Locomotive Optimizer

Page 41: Next Generation Decision Support Systems for Railroad Planning...VB .NET and ASP .NET Java ESRI GIS programming for maps Decision Support Systems Building Skills Excel-based applications

41

41

Current Status

Licensed by CSX Transportation.

Start sales and marketing to other railroads after completing deployment at CSX Transportation.

We expect this software to become a standard software for North American railroads.

Page 42: Next Generation Decision Support Systems for Railroad Planning...VB .NET and ASP .NET Java ESRI GIS programming for maps Decision Support Systems Building Skills Excel-based applications

42

42

Presentation Outline

Overview

Railroad Blocking Optimizer

Train Scheduling Optimizer

Locomotive Planning Optimizer

Overview of Other Systems

Lessons Learnt

Page 43: Next Generation Decision Support Systems for Railroad Planning...VB .NET and ASP .NET Java ESRI GIS programming for maps Decision Support Systems Building Skills Excel-based applications

43

43

Locomotive Shop Router for Q Maintenances

The business problem: All locomotives must go to shops for Q maint. every 92 daysSending them earlier results in more Q maint. than necessarySending them late results in dead locomotivesHave regular and even flow of locomotives to shops consistent with their capacities

What this system will do?It will assign locomotives to shops It will also assign locomotives to the right train so that they reach the right shop on time

Benefits:Even flow of locomotives to shops consistent with their capacitiesReduction in shop queues and improved shop operations

Reduction in past due Qs and improved out-of-service rates

Page 44: Next Generation Decision Support Systems for Railroad Planning...VB .NET and ASP .NET Java ESRI GIS programming for maps Decision Support Systems Building Skills Excel-based applications

44

44

Locomotive Demand-Supply Model

The business problem: Often terminals get into trouble due to shortage of locomotives Locomotive shortage shows up suddenly and unexpectedlyCSX needs an advance warning system to predict shortages and corrective recommendations and improve train originations

What this system will do?Keep track of train movements and locomotive inventories Predict excesses and shortages 12-24 hours ahead of timeIn a later phase, provide recommendations for tactical repositionings

Benefits:Reduction in terminals getting into troubleImproved on-time train originations

Page 45: Next Generation Decision Support Systems for Railroad Planning...VB .NET and ASP .NET Java ESRI GIS programming for maps Decision Support Systems Building Skills Excel-based applications

45

45

Locomotive Simulation Optimizer Engine

Train Events Locomotive Events

Event Generators

Decision Engines

Train Arrival/Departure

Modules

Terminal Assignment

Module

TacticalRepositioning

Module

Initial State- Trains- Locomotives- Terminals- Shops

OutputDatabase

Locomotive Simulation

Model

Terminal Events

Shop Routing Module

Shop Events

Page 46: Next Generation Decision Support Systems for Railroad Planning...VB .NET and ASP .NET Java ESRI GIS programming for maps Decision Support Systems Building Skills Excel-based applications

46

46

Crew Scheduling

Home Terminal Away Terminal

Time 1

3

5

7

10

12

14

4

6

8

11

13

Train ArcsDeadhead Arcs

Rest Arcs

Need for crew optimization systems.

Need for crew simulation systems.

We have done significant research and are now seeking development partnerships.

Page 47: Next Generation Decision Support Systems for Railroad Planning...VB .NET and ASP .NET Java ESRI GIS programming for maps Decision Support Systems Building Skills Excel-based applications

47

47

Yard Planning and Optimization

Different types of yards:Hump yardIntermodal yardsFlat yards

We are seeking development partnerships to build these systems.

Page 48: Next Generation Decision Support Systems for Railroad Planning...VB .NET and ASP .NET Java ESRI GIS programming for maps Decision Support Systems Building Skills Excel-based applications

48

48

Presentation Outline

Overview

Railroad Blocking Optimizer

Train Scheduling Optimizer

Locomotive Planning Optimizer

Overview of Other Systems

Lessons Learnt

Page 49: Next Generation Decision Support Systems for Railroad Planning...VB .NET and ASP .NET Java ESRI GIS programming for maps Decision Support Systems Building Skills Excel-based applications

49

49

Incremental SolutionClean-Slate Solution

Interactive SolutionOne-Step Solution

Lot of User ControlNo User Control

Real-time Response TimeRunning Time Irrelevant

Visual InformationMathematical Equations

ImplementabilityOptimality

Return on Investment Theoretical Elegance

Graphical User InterfaceModeling and Algorithms

IndustryAcademia

Lessons Learnt from Industry

Page 50: Next Generation Decision Support Systems for Railroad Planning...VB .NET and ASP .NET Java ESRI GIS programming for maps Decision Support Systems Building Skills Excel-based applications

50

50

We become an extension of our customer’s company to build a software product.

We will give our highly discounted rates, comparable to their full-time employees.

Customer receive all design documents and source codes of the software developed under this partnership.

The company retain full rights to use the software for internal purposes and for any yard in its network. It will also retain the rights to extend, modify and enhance the software.

Development Partnerships

Page 51: Next Generation Decision Support Systems for Railroad Planning...VB .NET and ASP .NET Java ESRI GIS programming for maps Decision Support Systems Building Skills Excel-based applications

51

51

Progressive Development and Deployment

Decompose a complex decision problem into a sequence of smaller decision problems.

Multi-phase development to minimize risk

Solution of each decision problem creates sufficient return on investment for the client.

Returns generated from the previous stages fund the future phases.

Page 52: Next Generation Decision Support Systems for Railroad Planning...VB .NET and ASP .NET Java ESRI GIS programming for maps Decision Support Systems Building Skills Excel-based applications

52

52

Others

Flexibility of relationship

Role reversal

Employee ownership

Patience and persistence

Page 53: Next Generation Decision Support Systems for Railroad Planning...VB .NET and ASP .NET Java ESRI GIS programming for maps Decision Support Systems Building Skills Excel-based applications

53

53

Patience and Persistence

Page 54: Next Generation Decision Support Systems for Railroad Planning...VB .NET and ASP .NET Java ESRI GIS programming for maps Decision Support Systems Building Skills Excel-based applications

54

54

www.InnovativeScheduling.com