1 / 8

CPM with Crashing: LINGO Model (a)

CPM with Crashing: LINGO Model (a). MODEL: ! A CPM model with crashing; SETS: TASKS / START, PROCUREMENT, SITE_PREPARATION, POUR_FOUNDATION, ERECT_STEEL, ROOF_EXT_WALL, FABRICATE_GLASS, INT_WALLS_GLASS, LANDSCAPING, ACQUIRE_FURN, INSTALL_FURN, FINISH/:

susane
Download Presentation

CPM with Crashing: LINGO Model (a)

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. CPM with Crashing: LINGO Model (a) MODEL: ! A CPM model with crashing; SETS: TASKS / START, PROCUREMENT, SITE_PREPARATION, POUR_FOUNDATION, ERECT_STEEL, ROOF_EXT_WALL, FABRICATE_GLASS, INT_WALLS_GLASS, LANDSCAPING, ACQUIRE_FURN, INSTALL_FURN, FINISH/: TIME, ! Normal time for task; TMIN, ! Min time at max crash; CCOST, ! Crash cost/unit time; EF, ! Earliest finish; CRASH; ! Amount of crashing;

  2. CPM with Crashing: LINGO Model (b) ! Here are the precedence relations; PRED( TASKS, TASKS)/ START, SITE_PREPARATION, START, PROCUREMENT, START, ACQUIRE_FURN, SITE_PREPARATION, POUR_FOUNDATION, PROCUREMENT, ERECT_STEEL, POUR_FOUNDATION, ERECT_STEEL, ERECT_STEEL, ROOF_EXT_WALL, ERECT_STEEL, FABRICATE_GLASS, ROOF_EXT_WALL, INT_WALLS_GLASS, FABRICATE_GLASS, INSTALL_FURN, ROOF_EXT_WALL, LANDSCAPING, INT_WALLS_GLASS, INSTALL_FURN, ACQUIRE_FURN INSTALL_FURN, LANDSCAPING, FINISH, INSTALL_FURN, FINISH /; ENDSETS

  3. CPM with Crashing: LINGO Model (c) DATA: TIME = 0, 215, 60, 31, 15, 40, 50, 85, 55, 280, 15, 0; ! Normal times; TMIN = 0, 195, 50, 28, 12, 35, 45, 50, 40, 240, 13, 0; ! Crash times; CCOST = 0, 2, 3, 3, 4, 4, 5, 3, 2, 1, 2, 0; ! Cost ($K)/day to crash; DUEDATE = 348; ! Project due date; ENDDATA

  4. CPM with Crashing: LINGO Model (d) ! The crashing LP model; ! Define earliest finish, each predecessor of a task constrains when the earliest time the task can be completed. The earliest the preceding task can be finished plus the time required for the task minus any time that could be reduced by crashing this task.; @FOR( PRED( I, J): EF( J) >= EF( I) + TIME( J) - CRASH( J) );

  5. CPM with Crashing: LINGO Model (e) ! For each task, the most it can be crashed is the regular time of that task minus minimum time for that task; @FOR( TASKS( J): CRASH( J) <= TIME( J) - TMIN( J) ); ! Meet the due date; ! This assumes that there is a single last task; EF( @SIZE( TASKS)) <= DUEDATE;

  6. CPM with Crashing: LINGO Model (f) ! Minimize the sum of crash costs; MIN = @SUM( TASKS: CCOST * CRASH); END

  7. CPM with Crashing: LINGO Solution Optimal solution found at step: 13 Objective value: 44.00000 Variable Value Reduced Cost EF( START) 0.0000000 2.000000 EF( PROCUREMENT) 195.0000 0.0000000 EF( SITE_PREPARATION) 60.00000 0.0000000 EF( POUR_FOUNDATION) 91.00000 0.0000000 EF( ERECT_STEEL) 210.0000 0.0000000 EF( ROOF_EXT_WALL) 250.0000 0.0000000 EF( FABRICATE_GLASS) 335.0000 0.0000000 EF( INT_WALLS_GLASS) 335.0000 0.0000000 EF( LANDSCAPING) 305.0000 0.0000000 EF( ACQUIRE_FURN) 280.0000 0.0000000 EF( INSTALL_FURN) 348.0000 0.0000000 EF( FINISH) 348.0000 0.0000000

  8. CPM with Crashing: LINGO Solution(Crash Times) Variable Value Reduced Cost CRASH( START) 0.0000000 0.0000000 CRASH( PROCUREMENT) 20.00000 0.0000000 CRASH( SITE_PREPARATION) 0.0000000 3.000000 CRASH( POUR_FOUNDATION) 0.0000000 3.000000 CRASH( ERECT_STEEL) 0.0000000 2.000000 CRASH( ROOF_EXT_WALL) 0.0000000 2.000000 CRASH( FABRICATE_GLASS) 0.0000000 5.000000 CRASH( INT_WALLS_GLASS) 0.0000000 1.000000 CRASH( LANDSCAPING) 0.0000000 2.000000 CRASH( ACQUIRE_FURN) 0.0000000 1.000000 CRASH( INSTALL_FURN) 2.000000 0.0000000 CRASH( FINISH) 0.0000000 0.0000000

More Related