linear programming transportation problem

Upload: hakim-kakembo

Post on 16-Oct-2015

223 views

Category:

Documents


4 download

DESCRIPTION

notes

TRANSCRIPT

  • 5/26/2018 Linear Programming Transportation Problem

    1/73

    17. The Transportation Problem

    There is a type of linear programming problem that may be solved using a simplifiedversion of the simplex technique called transportation method. Because of its majorapplication in solving problems involving several product sources and severaldestinations of products, this type of problem is frequently called the transportationproblem. It gets its name from its application to problems involving transportingproducts from several sources to several destinations. Although the formation can beused to represent more general assignment and scheduling problems as well as

    transportation and distribution problems. The two common objectives of such problemsare either (1) minimize the cost of shipping munits to ndestinations or (2) maximize theprofit of shipping munits to ndestinations.

    Let us assume there are msources supplying ndestinations. Source capacities,destinations requirements and costs of material shipping from each source to eachdestination are given constantly. The transportation problem can be described usingfollowing linear programmingmathematical modeland usually it appears inatransportation tableau.

    There are three general steps in solving transportation problems.

    We will now discuss each one in the context of a simple example. Suppose onecompany has four factories supplying four warehouses and its management wants todetermine the minimum-cost shipping schedule for its weekly output of chests. Factorysupply, warehouse demands, and shipping costs per one chest (unit) are shown inTable 7.1

    Table 7.1 Data for Transportation ProblemAt first, it is necessary to prepare an initial feasible solution, which may be done inseveral different ways; the only requirement is that the destination needs be met withinthe constraints of source supply.

    7.1 The Transp ortation Matr ix

    The transportation matrix for this example appears in Table 7.2, where supplyavailability at each factory is shown in the far right column and the warehouse demandsare shown in the bottom row. The unit shipping costs are shown in the small boxeswithin the cells (seetransportation tableauat the initiation of solving all cells areempty). It is important at this step to make sure that the total supply availabilities andtotal demand requirements are equal. Often there is an excess supply or demand. Insuch situations, for the transportation method to work, a dummy warehouse or factorymust be added. Procedurally, this involves inserting an extra row (for an additional

    http://orms.pef.czu.cz/text/MatModelTransProb.htmlhttp://orms.pef.czu.cz/text/MatModelTransProb.htmlhttp://orms.pef.czu.cz/text/MatModelTransProb.htmlhttp://orms.pef.czu.cz/text/TranspTableau.htmlhttp://orms.pef.czu.cz/text/TranspTableau.htmlhttp://orms.pef.czu.cz/text/TranspTableau.htmlhttp://orms.pef.czu.cz/text/TranspTableau2.htmlhttp://orms.pef.czu.cz/text/TranspTableau2.htmlhttp://orms.pef.czu.cz/text/TranspTableau2.htmlhttp://orms.pef.czu.cz/text/TranspTableau2.htmlhttp://orms.pef.czu.cz/text/TranspTableau.htmlhttp://orms.pef.czu.cz/text/MatModelTransProb.html
  • 5/26/2018 Linear Programming Transportation Problem

    2/73

    factory) or an extra column (for an ad warehouse). The amount of supply or demandrequired by the dummy equals the difference between the row and column totals.

    In this case there is:

    Total factory supply 51

    Total warehouse requirements 52

    This involves inserting an extra row - an additional factory. The amount of supply by thedummy equals the difference between the row and column totals. In this case there is5251 = 1. The cost figures in each cell of the dummy row would be set at zero so anyunits sent there would not incur a transportation cost. Theoretically, this adjustment isequivalent to the simplex procedure of inserting a slack variable in a constraintinequality to convert it to an equation, and, as in the simplex, the cost of the dummywould be zero in the objective function.

    Table 7.2 "Transportation Matrix for Chests Problem With an AdditionalFactory (Dummy)"

    7.2 Init ial Feasible So lutio n

    Initial allocation entails assigning numbers to cells to satisfy supply and demand

    constraints. Next we will discuss several methods for doing this:the Northwest-Cornermethod,Least-Cost method,andVogel's approximation method (VAM).

    Table 7.3 shows a northwest-corner assignment. (Cell A-E was assigned first, A-Fsecond, B-F third, and so forth.) Total cost : 10*10 + 30*4 + 15*10 + 30*1 + 20*12 +20*2 + 45*12 + 0*1 = 1220($).

    Inspection of Table 7.3 indicates some high-cost cells were assigned and some low-cost cells bypassed by using the northwest-comer method. Indeed, this is to be

    http://orms.pef.czu.cz/text/NordWestCorner.htmlhttp://orms.pef.czu.cz/text/NordWestCorner.htmlhttp://orms.pef.czu.cz/text/NordWestCorner.htmlhttp://orms.pef.czu.cz/text/NordWestCorner.htmlhttp://orms.pef.czu.cz/text/LeastCostMethod.htmlhttp://orms.pef.czu.cz/text/LeastCostMethod.htmlhttp://orms.pef.czu.cz/text/LeastCostMethod.htmlhttp://orms.pef.czu.cz/text/VogelAproxim.htmlhttp://orms.pef.czu.cz/text/VogelAproxim.htmlhttp://orms.pef.czu.cz/text/VogelAproxim.htmlhttp://orms.pef.czu.cz/text/VogelAproxim.htmlhttp://orms.pef.czu.cz/text/LeastCostMethod.htmlhttp://orms.pef.czu.cz/text/NordWestCorner.htmlhttp://orms.pef.czu.cz/text/NordWestCorner.html
  • 5/26/2018 Linear Programming Transportation Problem

    3/73

    expected since this method ignores costs in favor of following an easily programmableallocation algorithm.

    Table 7.4 shows a least-cost assignment. (Cell Dummy-E was assigned first, C-Esecond, B-H third, A-H fourth, and so on.) Total cost : 30*3 + 25*6 + 15*5 +10*10 + 10*9+ 20*6 + 40*12 + 0*1= 1105 ($).

    Table 7.5 shows the VAM assignments. (Cell Dummy-G was assigned first, B-Fsecond, C-E third, A-H fourth, and so on.) Note that this starting solution is very close to

    the optimal solution obtained after making all possible improvements (see next chapter)to the starting solution obtained using the northwest-comer method. (See Table 7.3.)Total cost: 15*14 + 15*10 + 10*10 + 20*4 + 20*1 + 40*5 + 35*7 + 0*1 = 1005 ($).

    Table 7.3Northwest Corner Assignment

    Table 7.4"Least - Cost Assignment"

  • 5/26/2018 Linear Programming Transportation Problem

    4/73

    Table 7.5"VAM Assignment"

    7.3 Develop Op timal Solutio n

    To develop an optimal solution in a transportation problem involves evaluating eachunused cell to determine whether a shift into it is advantageous from a total-cost standpoint. If it is, the shift is made, and the process is repeated. When all cells have beenevaluated and appropriate shifts made, the problem is solved. One approach to makingthis evaluation is theStepping stone method.

    The term stepping stone appeared in early descriptions of the method, in which unusedcells were referred to as "water" and used cells as "stones"from the analogy ofwalking on a path of stones half-submerged in water. The stepping stone method wasapplied to the VAM initial solution, as shown in Table 7.5

    Table 7.6 shows the optimal solutions reached by the Stepping stone method. Suchsolution is very close to the solution found using VAM method.

    Table 7.6 "Optimal Matrix, With Minimum Transportation Cost of $1,000."

    http://orms.pef.czu.cz/text/SteppingStone.htmlhttp://orms.pef.czu.cz/text/SteppingStone.htmlhttp://orms.pef.czu.cz/text/SteppingStone.htmlhttp://orms.pef.czu.cz/text/SteppingStone.html
  • 5/26/2018 Linear Programming Transportation Problem

    5/73

    7.4 Alternate Optim al Solutio ns

    When the evaluation of any empty cell yields the same cost as the existing allocation,an alternate optimal solution exists (seeStepping Stone Methodalternate solutions).

    Assume that all other cells are optimally assigned. In such cases, management hasadditional flexibility and can invoke nontransportation cost factors in deciding on a finalshipping schedule.

    Table 7.7 "Alternate Optimal Matrix for the Chest Transportation Problem, WithMinimum Transportation Cost of $1,000.

    7.5 Degeneracy

    Degeneracy exists in a transportation problem when the number of filled cells is lessthan the number of rows plus the number of columns minus one (m + n - 1).

    Degeneracy may be observedeither during the initial allocation when the first entry in arow or column satisfies both the row and column requirements or during the Steppingstone method application, when the added and subtracted values are equal.Degeneracy requires some adjustment in the matrix to evaluate the solution achieved.The form of this adjustment involves inserting some value in an empty cell so a closedpath can be developed to evaluate other empty cells. This value may be thought of asan infinitely small amount, having no direct bearing on the cost of the solution.

    Procedurally, the value (often denoted by the Greek letter epsilon, - ) is used inexactly the same manner as a real number except that it may initially be placed in anyempty cell, even though row and column requirements have been met by real numbers.

    A degenerate transportation problem showing a Northwest Corner initial allocation is

    presented in Table 7.8, where we can see that if were not assigned to the matrix, itwould be impossible to evaluate several cells.

    Once a has been inserted into the solution, it remains there until it is removed bysubtraction or until a final solution is reached.

    http://orms.pef.czu.cz/text/SteppingStonealtSol.htmlhttp://orms.pef.czu.cz/text/SteppingStonealtSol.htmlhttp://orms.pef.czu.cz/text/SteppingStonealtSol.htmlhttp://orms.pef.czu.cz/text/SteppingStonealtSol.htmlhttp://orms.pef.czu.cz/text/SteppingStonealtSol.htmlhttp://orms.pef.czu.cz/text/SteppingStonealtSol.html
  • 5/26/2018 Linear Programming Transportation Problem

    6/73

    While the choice of where to put an is arbitrary, it saves time if it is placed where itmay be used to evaluate as many cells as possible without being shifted.

    Table 7.8 "Degenerate Transportation

    Problem With Added. Number of filled cells = 4

    7.6 Transp ortation Problem w ith a Maxim ization as a Criter ion

    A fictive corporation A has a contract to supply motors for all tractors produced by afictive corporation B. Corporation B manufactures the tractors at four locations aroundCentral Europe: Prague, Warsaw, Budapest and Vienna. Plans call for the followingnumbers of tractors to be produced at each location:

    Prague 9 000

    Warsaw 12 000

    Budapest 9 000

    Corporation A has three plants that can produce the motors. The plants and productioncapacities are

    Hamburg 8 000

    Munich 7 000

    Leipzig 10 000

    Dresden 5 000

    Due to varying production and transportation costs, the profit earns on each motordepends on where they were produced and where they were shipped. The followingtransportation table (Table 7.9) gives the accounting department estimates of the europrofit per unit (motor).

  • 5/26/2018 Linear Programming Transportation Problem

    7/73

    Table 7.9 "The Euro Profit Per One Shipped Motor"

    Table 7.10 shows a highest - profit assignment (Least Cost method modification). Incontrast to the LeastCost method it allocates as much as possible to the highest-costcell. (Cell Hamburg - Budapest was assigned first, Munich - Warsaw second, Leipzig -Warsaw third, LeipzigBudapest fourth, DresdenPrague fifth and LeipzigPrague

    sixth.) Total profit : 3 335 000 euro.

    Table 7.10 "Highest - Profit Assignment"

    Applying theStepping Stone method(modified for maximization purposes) to the initialsolution we can see that no other transportation schedule can increase the profit and sothe HighestProfit initial allocation is also an optimal solution of this transportation

    problem.

    7.7 The Transs hipm ent Problem

    The transshipment problem is similar to the transportation problem except that in thetransshipment problem it is possible to both ship into and out of the same node (point).For the transportation problem, you can ship only from supply points to demand points.For the transshipment problem, you can ship from one supply point to another or fromone demand point to another. Actually, designating nodes as supply points or demandpoints becomes confusing when you can ship both into and out of a node. You can

    http://orms.pef.czu.cz/text/LeastCostMethod.htmlhttp://orms.pef.czu.cz/text/LeastCostMethod.htmlhttp://orms.pef.czu.cz/text/LeastCostMethod.htmlhttp://orms.pef.czu.cz/text/SteppingStoneApply.htmlhttp://orms.pef.czu.cz/text/SteppingStoneApply.htmlhttp://orms.pef.czu.cz/text/SteppingStoneApply.htmlhttp://orms.pef.czu.cz/text/SteppingStoneApply.htmlhttp://orms.pef.czu.cz/text/LeastCostMethod.html
  • 5/26/2018 Linear Programming Transportation Problem

    8/73

    make the designations clearer if you classify nodes by their net stock position-excess(+), shortage (-), or 0.

    One reason to consider transshipping is that units can sometimes be shipped into onecity at a very low cost and then transshipped to other cities. In some situations, this canbe less expensive than direct shipment.Let's consider the balanced transportation problem as an example.

    Picture 7.1 shows the net stock positions for the three warehouses and four customers.

    Say that it is possible to transship through Pilsen to both Innsbruck and Linz. Thetransportation cost from Pilsen to Innsbruck is 300 euro per unit, so it costs less to shipfrom Warsaw to Innsbruck by going through Pilsen. The direct cost is 950 euro, and thetransshipping cost is 600 + 300 = 900 euro. Because the transportation cost is 300 eurofrom Pilsen to Innsbruck, the cost of transshipping from Prague through Pilsen toInnsbruck is 400 euro per unit. It is cheaper to transship from Prague through Pilsenthan to ship directly from Prague to Innsbruck.

    Picture 7.1 "Transshipment Example in the Form of a Network Model"

    There are two possible conversions to a transportation model. In the first conversion,make each excess node a supply point and each shortage node a demand point. Then,find the cheapest method of shipping from surplus nodes to shortage nodes consideringall transshipment possibilities. Let's perform the first conversion for the Picture 7.1example. Because a transportation table Prague, Warsaw, and Vienna have excesses,they are the supply points. Because Krakow, Pilsen, Innsbruck, and Linz haveshortages, they are the demand points. The cheapest cost from Warsaw to Innsbruck is900 euro, transshipping through Pilsen. The cheapest cost from Prague to Innsbruck is

    400 euro, transshipping through Pilsen too. The cheapest cost from all other supplypoints to demand points is obtained through direct shipment. Table 7.11 shows thebalanced transportation table for this transshipment problem. For a simpletransportation network, finding all of the cheapest routes from excess nodes to shortagenodes is easy. You can list all of the possible routes and select the cheapest. However,for a network with many nodes and arcs, listing all of the possible routes is difficult.

  • 5/26/2018 Linear Programming Transportation Problem

    9/73

    Table 7.11 "The Transshipment Problem After Conversion to aTransportation Model"

    The secondconversion of a transshipment problem to a transportation modeldoesn'trequire finding all of the cheapest routes from excess nodes table to shortage nodes.The second conversion requires more supply and demand nodes than the firstconversion, because the points where you can ship into and out of, occur in theconverted transportation problem twicefirst as a supply point and second as ademand point.

    7.8 The Assignment Prob lem

    Another transportation problem is the assignment problem. You can use this problem toassign tasks to people or jobs to machines. You can also use it to award contracts tobidders. Let's describe the assignment problem as assigning ntasks to npeople. Eachperson must do one and only one task, and each task must be done by only oneperson. You represent each person and each task by a node. Number the people 1 ton,and number the tasks 1 ton.The assignment problem can be described simply usingaverbal modelor using a linear programmingmathematical model.

    For example, say that five groups of computer users must be trained for five new typesof software. Because the users have different computer skill levels, the total cost oftrainings depends on the assignments.

    http://orms.pef.czu.cz/text/TheConversTransProblemTM.htmlhttp://orms.pef.czu.cz/text/TheConversTransProblemTM.htmlhttp://orms.pef.czu.cz/text/TheConversTransProblemTM.htmlhttp://orms.pef.czu.cz/text/VerbalModelAssigProblem.htmlhttp://orms.pef.czu.cz/text/VerbalModelAssigProblem.htmlhttp://orms.pef.czu.cz/text/VerbalModelAssigProblem.htmlhttp://orms.pef.czu.cz/text/MatModelofAssigProblemBalanc.htmlhttp://orms.pef.czu.cz/text/MatModelofAssigProblemBalanc.htmlhttp://orms.pef.czu.cz/text/MatModelofAssigProblemBalanc.htmlhttp://orms.pef.czu.cz/text/MatModelofAssigProblemBalanc.htmlhttp://orms.pef.czu.cz/text/VerbalModelAssigProblem.htmlhttp://orms.pef.czu.cz/text/TheConversTransProblemTM.html
  • 5/26/2018 Linear Programming Transportation Problem

    10/73

    Table 7.12 Cost of TrainingsAccording to the Groups of Users

    Picture 7.2 "Network Model for Assignment Problem"

    Table 7.12 shows the cost of training for each assignment of a user group (A through E)to a software type (S1 through S5). Picture 7.2 is a network model of this problem.

    A balanced assignment problem has the same number of people and tasks. For abalanced assignment problem, the relationships are all equal. Each person must do atask. For an unbalanced assignment problem with more people than tasks, some

    people don't have to do a task and the first class of constraints is of the type. Ingeneral, the simplex method does not guarantee that the optimal values of the decisionvariables are integers. Fortunately, for the assignment model, all of the corner pointsolutions have integer values for all of the variables. Therefore, when the simplexmethod determines the optimal corner point, all of the variable values are integers andthe constraints require that the integers be either 1 or 0 (Boolean).

    7.8.1 Conversion to a Balanced Transportation Table

    It's not surprising that the variable values for corner point solutions to the assignmentmodel are integers. The assignment model is a special case of the transportationproblem, and the transportation problem has integer variable values for every cornerpoint.

    For the assignment model, the number of supply and demand points are both n. Thesupply points correspond to each person, and the demand points correspond toeach task. Furthermore, every supply amount is 1 and every demand amount is 1.There is one of each person and one of each task.

  • 5/26/2018 Linear Programming Transportation Problem

    11/73

    Table 7.13 The Computer Users Assignment Problem in the Transportation TableFormat

    Table 7.13 represents the computer users assignment problem in the balancedtransportation table format. For the computer users assignment problem, you minimizethe total cost of training. Because number of users = 5 and software types = 5, thetransportation problem is balanced. You can use standard method for initial solutionfinding (Northwest-Corner method,Least-Cost method,orVogel's approximationmethod (VAM)and aSteppingStone method for developing an optimal solution.

    Thinking of the transportation problem as shipping items between cities is helpful, but

    it's the mathematical structure that is important. The assignment problem has the samemathematical structure as the transportation problem, even though it has nothing to dowith shipping units.

    Note, that each feasible solution of assignment problem will always be stronglydegenerated(number of nonzero variables will always be n).

    7.9 Conclusion

    The transportation problem is only a special topic of the linear programming problems. Itwould be a rare instance when a linear programming problem would actually be solved

    by hand. There are too many computers around and too many LP software programs tojustify spending time for manual solution.( There are also programs that assist in theconstruction of the LP or TP model itself. Probably the best known is GAMSGeneral

    Algebraic Modeling System (GAMS-General, San Francisco, CA). This provides a high-level language for easy representation of complex problems.)

    http://orms.pef.czu.cz/text/NordWestCorner2.htmlhttp://orms.pef.czu.cz/text/NordWestCorner2.htmlhttp://orms.pef.czu.cz/text/NordWestCorner2.htmlhttp://orms.pef.czu.cz/text/LeastCostMethod2.htmlhttp://orms.pef.czu.cz/text/LeastCostMethod2.htmlhttp://orms.pef.czu.cz/text/LeastCostMethod2.htmlhttp://orms.pef.czu.cz/text/VogelAproxim2.htmlhttp://orms.pef.czu.cz/text/VogelAproxim2.htmlhttp://orms.pef.czu.cz/text/VogelAproxim2.htmlhttp://orms.pef.czu.cz/text/VogelAproxim2.htmlhttp://orms.pef.czu.cz/text/SteppingStone3.htmlhttp://orms.pef.czu.cz/text/SteppingStone3.htmlhttp://orms.pef.czu.cz/text/SteppingStone3.htmlhttp://orms.pef.czu.cz/text/SteppingStone3.htmlhttp://orms.pef.czu.cz/text/SteppingStone3.htmlhttp://orms.pef.czu.cz/text/SteppingStone3.htmlhttp://orms.pef.czu.cz/text/VogelAproxim2.htmlhttp://orms.pef.czu.cz/text/VogelAproxim2.htmlhttp://orms.pef.czu.cz/text/LeastCostMethod2.htmlhttp://orms.pef.czu.cz/text/NordWestCorner2.html
  • 5/26/2018 Linear Programming Transportation Problem

    12/73

    8. NETWORK MODELS

    8.1 The Termino logy o f Network Mod els

    Network models have mathematical structures that are effectively exploited. We discussthe general mathematical structure of network models now. Later in this sections, wediscuss some special network problems.

    Planning the distribution of products, planning the building of a house or planning thesewerage or drainage system are common application for network models. Let's think ofnetwork models for physical distribution of grain as we describe network models ingeneral. This kind of model will be used to illustrate the terminology of network models.

    A network model consists of nodesconnected by arcs. Think of nodes as cities andarcs as roads and of a network as consisting of cities connected by roads. A directedarc has a direction associated with it. For example, traffic goes in only one direction ona one-way road.

    Picture 8.1Example of Network

    Picture 8.1 illustrates an example with 7 nodes and 10 directed arcs. The arc directionsare indicated by the arrows. For each road, a cost for useand a maximum capacitylimitcan be imposed.

  • 5/26/2018 Linear Programming Transportation Problem

    13/73

    Picture 8.2 Example of Network with Nodes

    Numbered

    Although each node (city) has a name, number the nodes so that you can easily refer to

    them. If there are nnodes, number them 1 through n. Then, each arc connecting a

    particular pair of nodes can be specified by giving its two node numbers.

    Picture 8.2 has the network of Picture 8.1 with the nodes numbered 1 through 7. In thisexample, the arc connecting Node 5 to Node 6 is called Arc (5,6). The first number is

    assigned to the node at the beginning of the arc, and the second number is assigned tothe node at the end of the arc (arrow). Doing this specifies the direction of the arc.The cost per unitshipped from Node ito Nodej, the maximum capacityfromNode ito Nodejand anet stock position of each node can be specified. (For moreinformation seeNode positions and arc capacities in networks.)

    A network modelis defined by specifying the nodes and their net stock positions, andthe arcs and their costs, minimums, and maximum capacities. We call a pictorialrepresentation such as Picture 8.2 the network model. Such a picture helps usunderstand the network.

    There are many special network problems. These problems are special cases of thegeneral network model. Some of them have additional restrictions on how nodes areconnected. Some don't have capacity limits. Some have different assumptions on theinitial amounts on hand or the amounts to be dropped off at nodes.

    Before we discuss special network problems, let's state an important property ofoptimal, corner point solutions for general network problems. For each of the networkmodels discussed, if the net stock positions, minimums, and capacities are integervalues, all corner point solutions result in every variable value being integer. Becausethe simplex method gives an optimal corner point solution, this method and its variantsachieve optimal solutions with integer variable values.

    We discuss each special network problem in a separate section. For each, we describeapplications, and discuss the mathematical structure.

    8.2 The Maximum Flow Prob lem

    http://orms.pef.czu.cz/text/Network1/NodePositions.htmlhttp://orms.pef.czu.cz/text/Network1/NodePositions.htmlhttp://orms.pef.czu.cz/text/Network1/NodePositions.htmlhttp://orms.pef.czu.cz/text/Network1/NodePositions.html
  • 5/26/2018 Linear Programming Transportation Problem

    14/73

    Let's consider a network that has one input node and one output node. Themaximum flow problem finds the maximum flow from the input node to the output node.The arcs have flow capacities.

    In one application of this problem, a water station company analyzes a water pipelinesystem used to transport drinking water from the main water station to surroundingcities and villages. The capacity of a water pipeline segment depends on its diameterand the pumping stations and tank towers. The company wants to determine themaximum flow of the pipeline system in order to plan for peak consumption during the

    day.

    In another application, a long-distance telephone company uses the maximum flowproblem to determine the maximum number of simultaneous calls that can be madebetween two cities. Phone calls can be routed in many ways between them. Linesbetween pairs of cities along the routes have different capacities.

    Let's consider an Aqueduct Problem. One section of the aqueduct must be completelyclosed due to a general repair. When the section is closed, several pipeline detour areavailable. Let's develop a maximum flow problem to determine the maximum flow thatthe alternate section can handle.

    Picture 8.3 Network Model of the Aqueduct Problem

    The possible water pipeline detours are illustrated in Picture 8.3. The arcs are pipelinesbetween different points - water tanks, reservoirs or pumping stations. Nodes 1 and 8are points on the closed section. Node 1 is the beginning of the planned section closing,and Node 8 is the end of it.

    The number on each arc is the water capacity of the pipeline in cubic meters (m 3) perminute. The 2 on Arc (2,4) indicates that 2 m3 of water is the maximum flow on the pipefrom Node 2 to Node 3. The flows between the nodes are only in one direction. Let'sfind the maximum flow from Node 1 to Node 8.

    If the maximum flow is large enough, the inhabitants, water-house clients, will not belimited by the section closing.

  • 5/26/2018 Linear Programming Transportation Problem

    15/73

    Our problem has its own algebraic representation and can be described usingmaximumflow problem mathematical modeland solved usingsimplex method.The optimalsolution provided by Linkosa software (see SW download) is shown in Table 8.1.Structure of the model inputs for Linkosa Solver is availablehere.Such problem couldbe well solved usingLINDO.

    Optimal Solution of the Model Aqueduct

    Max. value of the objective function Max Flow is 11

    Structural variables Constraints

    Name Value Type Name Value Slack

    Z 11 Basic Node 1 0 0

    X1,2 5 Basic Node 2 0 0

    X1,3 6 Upper bound Node 3 0 0

    X2,4 2 Upper bound Node 4 0 0

    X2,5 3 Basic Node 5 0 0

    X3,4 1 Basic Node 6 0 0

    X3,6 5 Upper bound Node 7 0 0

    X4,5 3 Basic Node 8 0 0

    X5,6 4 Upper bound

    X5,7 2 Basic

    X6,7 2 Basic

    X6,8 7 Upper bound

    X7,8 4 Upper bound

    Table 8.1 Optimal Solution of the Model Aqueduct with Maximum Flow = 11

    The maximum flow is 11, or 11 m3of water per minute. The solution shows the amountof water per minute for each pipeline in the alternate system. For example, 3 m 3ofwater per minute will flow from Node 4 to Node 5 (variablex4,5), 4 m

    3of water perminute will flow from Node 7 to Node 8 (variablex7,8).

    http://orms.pef.czu.cz/text/Network1/MathematicalProblem.htmlhttp://orms.pef.czu.cz/text/Network1/MathematicalProblem.htmlhttp://orms.pef.czu.cz/text/Network1/MathematicalProblem.htmlhttp://orms.pef.czu.cz/text/Network1/MathematicalProblem.htmlhttp://linuxkp.pef.czu.cz/~leonardo/text/InitialSimplexTableau.htmlhttp://linuxkp.pef.czu.cz/~leonardo/text/InitialSimplexTableau.htmlhttp://linuxkp.pef.czu.cz/~leonardo/text/InitialSimplexTableau.htmlhttp://linuxkp.pef.czu.cz/~leonardo/text/Network1/StructureoftheAqueductModel.htmlhttp://linuxkp.pef.czu.cz/~leonardo/text/Network1/StructureoftheAqueductModel.htmlhttp://linuxkp.pef.czu.cz/~leonardo/text/Network1/StructureoftheAqueductModel.htmlhttp://www.lindo.com/http://www.lindo.com/http://www.lindo.com/http://www.lindo.com/http://linuxkp.pef.czu.cz/~leonardo/text/Network1/StructureoftheAqueductModel.htmlhttp://linuxkp.pef.czu.cz/~leonardo/text/InitialSimplexTableau.htmlhttp://orms.pef.czu.cz/text/Network1/MathematicalProblem.htmlhttp://orms.pef.czu.cz/text/Network1/MathematicalProblem.html
  • 5/26/2018 Linear Programming Transportation Problem

    16/73

    8.2.1 More then One Input or Output Node

    We discussed the maximum flow problem with only one input node and only one outputnode. Let's consider an example with two input nodes. In Picture 8.3. the output node isNode 5, but Nodes 1 and 2 are both input nodes. We want to find the total maximumflow from Nodes 1 and 2 to Node 5.

    Picture 8.4 "Maximum flow Example with Two Starting Nodes"

    The easiest solution of such problem is to modify the network model so that it has onlyone input node. We introduce a dummy node - Node 0 and arcs from Node 0 to all ofthe input nodes. In this example, you introduce arcs to Nodes 1 and 2 as illustrated inPicture 8.4. The capacities on Arcs (0,1) and (0,2) are infinite. For practical solutionsthey will be very high (high enough), much higher than the highestarc capacity in themodelfor example 100.

    Picture 8.5 "Network Model with Dummy Starting Node Added"

  • 5/26/2018 Linear Programming Transportation Problem

    17/73

    This transformation allows solving a maximum flow problem with two sources bymaximum flow software that requires only one input node and one output node. If thereis more than one output node, use a similar modification by creating a dummy node thatfollows all of the possible output nodes to the dummy output node.

    8.3 The Shortest Rou te Problem

    The shortest-route problem is a network problem with many applications. As anexample, say that you are planning to fly to Singapore for a vacation from the starting

    point in Prague. You examine a world map to select the route. Suppose that youminimize the distance and not the flying ticket price (it usually doesnt depend on thedistance so closely). The world map shows cites (nodes) connected by airlines (arcs)and the distances on each route - line connecting a pair of cities. The total distance for aroute is obtained by adding all of the distances on that route. Your objective is to findthe route to Singapore, with the smallest total distance. Thus, your problem is ashortest-route problem.

    For this shortest-route problem, each arc has a numerical value (distance in kilometers)but those numbers do not always have to signify distances, they can signify costs aswell. You want to pick the route that minimizes the sum of the numbers on the arcs.

    Picture 8.6 "Transit Airport Distances on the Journey from Prague to Singapore"

  • 5/26/2018 Linear Programming Transportation Problem

    18/73

    Picture 8.6 shows possible flight segments from Prague to Singapore. The distancebetween each two cities are on the arcs, the node numbers are small red numbersnearby the nodes. You want to minimize the total distance from Prague to Singapore.The nodes are the airports, and the arcs are the flights. You define the net stockposition as + 1 at Prague and - 1 at Singapore. The net stock positions at other nodes(airports) are 0. The model has a decision variable,xij, for each arc. Because the netstock positions are + 1 , 0, and - 1, thexij, must be

  • 5/26/2018 Linear Programming Transportation Problem

    19/73

    X6,9 1 Basic

    X7,8 0 Basic

    X8,9 0 Basic

    Table 8.1 Optimal Solution of the Model Shortest Route with Minimum Distance

    from Prague to Singapore = 10560 km

    The shortest route consist of flight segments PragueVienna (x1,3= 1), ViennaAmman(x3,5= 1), AmmanDubai (x5,6= 1)and DubaiSingapore (x6,9= 1). The sumof these flight segments length generates the minimum total distance from Prague toSingapore, 10560 km.

    You can find the shortest route from Prague to Singapore by careful examination of thenetwork too. List all of the possible routes and total the flight distance on each route.Then, pick the shortest route. However, for shortest-route problems with many nodesand arcs, you need a computer.

    lf you must solve many shortest-route problems through a complex network, you canuse shortest-route software that is more efficient than LINDO or Linkosa software. Butexcept for networks with a very large number of nodes and arcs, it is generally notnecessary to search for software that uses the most efficient algorithm for your shortest-route

    If you have complex shortest-route problems, you should understand two importantfactors in selecting software-the variety of the problemand the network structure.

    The varietyis the set of nodes for which you need the shortest route. For example, doyou just want the shortest route between one pair of nodes-Prague and Singapore? Or

    do you want the shortest route from one node to all other nodes? It is possible to use analgorithm for the first variety of problem to solve all of the other varieties. You do this byrepeating the algorithm for each desired pair of nodes. However, because thisprocedure repeats many calculations, it is inefficient.

    The other factor is the network structure. You should understand the distinctionbetweencyclic networksandacyclic networks.If your network is acyclic, software usingan acyclic network algorithm is more efficient than software using a cyclic networkalgorithm. Acyclic networks are much easier to analyze than cyclic networks. Thus,algorithms for acyclic networks are much more efficient then algorithms for cyclicnetworks.

    8.4 The Crit ical Path Methods and Project Managem ent

    You can use management science for planning, scheduling, and controlling complexprojects consisting of many separate activities. For a simple project, you can plan,schedule, and control the activities without a computer. But if a project is very complex,using your mind to keep track of the plan and monitor the progress is difficult. To plan,schedule, and control such projects, you can use the Critical Path Method (CPM) orMetra Potential Method (MPM) for deterministic projects and Project Evaluation andReview Technique (PERT) for stochastic projects. Some advanced methods for project

    http://orms.pef.czu.cz/text/Network1/CyclicNetwork.htmlhttp://orms.pef.czu.cz/text/Network1/CyclicNetwork.htmlhttp://orms.pef.czu.cz/text/Network1/CyclicNetwork.htmlhttp://orms.pef.czu.cz/text/Network1/AcyclicNetwork.htmlhttp://orms.pef.czu.cz/text/Network1/AcyclicNetwork.htmlhttp://orms.pef.czu.cz/text/Network1/AcyclicNetwork.htmlhttp://orms.pef.czu.cz/text/Network1/AcyclicNetwork.htmlhttp://orms.pef.czu.cz/text/Network1/CyclicNetwork.html
  • 5/26/2018 Linear Programming Transportation Problem

    20/73

    management such as Critical Chain (CCM) or Q-GERT will not be mentioned in thischapter.

    Common applications of these methods include:

    1. Major construction projects applications2. Research and development projects3. Maintenance of complex equipment

    You can use CPM, PERT or MPM for onetime projects, such as the first two typesnamed above, and for projects that are repeated, such as the third type.

    There are many successful applications of all these methods in project management incivil engineering, marketing and business development, software development,reingeneering, program management and control and so on.

    To complete such projects as on time, you must schedule various activities (tasks). Theinterdependencies of the activities makes the coordination complicated. Some activitiesmust be completed before others begin, and some activities require the sameresources, so you must allocate the resources among them.

    As the project manager, you want to know the answers to four questions:

    1. What is the goal of the project - can I define its finish (start)?2. How long will the project take - when it ends (starts)?3. What tasks are critical? That is, which tasks must be completed on time so that

    completion of the project is not delayed?4. Which tasks can be delayed? What will happen delaying them?5. Do I have enough resources for project realization?6. Do I have enough money for project realization?7.

    Can I minimize the project total cost? - How ?

    8. Can I minimize the project duration? - How ?

    You can use CPM, CPM-cost, RAMPS, PERT, MPM and many other project

    management methods to answer these questions.

    PERT was developed to manage the Polaris missile project in the 1950s. Because thetime for completing activities was uncertain, PERT included probabilistic activity times.CPM was developed for major preventive maintenance projects at Du Pont. Becausecost was a major consideration in these programs, CPM included costs. MPM methodwas developed in France in 1958 to be able to create and calculate projects with

    various types of dependencies between tasks, when the start of successor task doesntdepend on the finish of a predecessor task.

    8.4.1 Constructing the Project Network

    To analyze a project, you must list the activities required to complete the project. Foreach activity, you list its immediate predecessors and its estimated time. (Later, wediscuss probabilistic activity times.) A precedence requirement specifies that an activitymust be completed before another is begun (Later, we discuss another possibility for

  • 5/26/2018 Linear Programming Transportation Problem

    21/73

    MPM models).You can use a network to describe a project. A network consists of nodesand arcs connecting them. There are two approaches to representing a project by anetwork. The activities on arcs (AOA) approach where activities on arcs represents anactivity as an arc, and the activities on nodes (AON) approach represents an activity asa node (MPM method). At first, we use the AOA approach.

    Task Code Task Name Task Durat ion

    ( in d ays)

    Predecessors Name

    A Site Plan 3

    B Building Plans 90

    C Construction Permit

    and Contract

    2 Site Plan, Building Plans

    DGroundwork

    30

    Construction Permit andContract

    E Garage Construction 60 Construction Permit and

    Contract

    F Walls 90 Groundwork

    G Frame and Roof 30 Walls

    H Garden 10 Frame and Roof, Garage

    Construction

    Table 8.1 Task List with Durations and Precedence Relationships

    Table 8.1 lists the tasks and their immediate predecessors for the project Building of a

    House. Tasks Site Plan and Building Plan have no predecessors, so it can beginimmediately. However, all other tasks cant start until their predecessors have beencompleted.

    Let's construct the AON network for the this project. We use the arrows on the arcs toshow relationships between tasks. Picture 8.1shows one part of a network model forBuilding of a House Project. Each node represents an event, the starting or finishing ofan activity. Nodes 1 (Site Plan) and 2 (Building Plan) are both the project startingevents. Node 3 (Construction Permit and Contract) is the event at which Tasks 1 and 2are finished.

  • 5/26/2018 Linear Programming Transportation Problem

    22/73

    To construct an AON network is much easier then to construct an AOA one.

    Picture 8.7 AON Network Model for the Table 8.1 Project (Output from MicrosoftProject )

    Now let's construct the AOA network for the this project (Picture 8.7). The arcs are

    activities and we use the arrows on the arcs to show precedence relationships too. You

    can't start an activity leaving a node until all of the activities entering that node have

    been finished.

    Picture 8.8 "AOA Network Model for the Table 8.1 Project"

    Numbering the nodes makes referring to an activity easier. Activity (Task) A is Arc (1,3).

    Because the arc for Activity C begins at Node 3, Activities A and B must be finished

    before Activity C starts. Both Activities D and E begin at Node 4 and so C must be

  • 5/26/2018 Linear Programming Transportation Problem

    23/73

    finished before their beginning. Our project has two beginnings (Node 1 and Node 2)

    and so we introduce a dummy nodeto eliminate this confusion. Picture 8.8 shows the

    network after adding a dummy node, numbered 0. The dotted lines from Node 0 to

    Node 1 and 2 represent dummy activities(D1, D2) that takeno time.

    Picture 8.9 "AOA Network Model of the Project with Dummy Node and DummyActivities"

    All other activity durations (in days) are in brackets besides their codes. Sometimes the

    construction of a AOA network model can be much more complicated than in previous

    case and we have to follow thestep by step AOA network model construction.

    8.4.2 Finding the Critical Path

    Say that you're responsible for the project described in Table 8.1. Your costumer wantsto have the house completed as soon as possible, and he wants to know the expectedcompletion time for the construction. Sometimes you can work only on one task andsometimes, it's possible to work on more than one activity at a time. For example, youcan prepare site plans and building plans at the same time. Picture 8.1

    shows the AON network model and Picture 8.3 the AOA model. Lets calculate the AOAmodel . Nodes 0 and 9 represent starting and finishing the project, respectively.

    For this simple network, we can find the completion time by inspection. There are fourpathsfrom Node 1 to Node 6.

    1. The path D1-A-C-D-F-G-H totals 0 + 3 + 2 + 30 +90 + 30 +10 = 165 days.2. The path D2-B-C-D-F-G-H totals 0 + 90 + 2 + 30 +90 + 30 +10 = 252 days.3. The path D1-A-C-E-H totals 0 + 3 + 2 + 40 + 10 = 55 days.4. The path D2-B-C-E-H totals 0 + 90 + 2 + 40 + 10 = 142 days.

    Because you need to do all of the activities to complete the project, the longest path

    through the network is the project completion time. 252 days are required to

    complete the project.

    http://orms.pef.czu.cz/text/Network1/StepByStepAOA.htmlhttp://orms.pef.czu.cz/text/Network1/StepByStepAOA.htmlhttp://orms.pef.czu.cz/text/Network1/StepByStepAOA.htmlhttp://orms.pef.czu.cz/text/Network1/StepByStepAOA.html
  • 5/26/2018 Linear Programming Transportation Problem

    24/73

    The critical path is the longest path through the network. For our project criticalactivities, the critical path is B-C-D-F-G-H with a duration of 252 days. The criticalactivities are on the critical path.Delaying the completion of a critical activity delayscompletion of the project. The critical activities are B, C, D, F, G and H. For example, if

    Activity G takes 35 days rather than 30, the project completion time increases to 257days.

    You can find the critical path by solving a longest-route problem (modification ofthemathematical model of shortest route problem).We discussed solving the shortest-route

    problem by linear programming optimization model. You give the starting node a netstock position of + 1 and the finishing node a net stock position of - 1. For minimizationsoftware, let the arc costs be the negative of the activity times. You can also usespecial, shortest-route software.

    Now let's discuss the widely used method of finding the critical path through a network -the CPM.

    The classical CPM uses the forward and backward pass calculationsfor finding thecritical path. For the house building project, we've answered two of the four questions.The project can be completed in 252 days, and Activities B, C, D, F, G and H are

    critical. If the network is simple, you can answer the first two questions by listing all ofthe possible paths and finding the longest. But for complex networks, this is verycomplicated and time consuming. Also, we still need to answer the other two questions:What are the starting and finishing times for each activity, and how long can noncriticalactivities be delayed without delaying project completion? We show how to answer allfour questions by the forward and backward pass calculations.

    For all CPM calculations, note that the network is acyclic. Every project managementnetwork is acyclic, and this simplifies finding the longest (or shortest) path. The earlieststart timeis the earliest an activity can start, and the earliest finish timeis the earliestit can finish. The latest start timeis the latest an activity must start, and the latest

    finish timeis the latest it must finish.The procedure for finding critical path has 8 steps,which can be described usingCPM algebraic representation ,and at the end of it wecan answer all the questions mentioned above. Critical activities have the total slackequal to zero, noncritical activities have the total slack greater then zero. The total slackfor noncritical activity shows, how the activity can be delayed without delaying projectcompletion.

    Besides the basic CPM calculations a more precise analysis ofactivity slackscan bedone.

    Kind of a slack Meaning of a slack

    Total How the activity can be delayed without delaying project completion.

    Free How the activity can be delayed without delaying a next task

    (successor activity).

    http://orms.pef.czu.cz/text/Network1/MatModelShortRoadProblem.htmlhttp://orms.pef.czu.cz/text/Network1/MatModelShortRoadProblem.htmlhttp://orms.pef.czu.cz/text/Network1/MatModelShortRoadProblem.htmlhttp://orms.pef.czu.cz/text/Network1/MatModelShortRoadProblem.htmlhttp://orms.pef.czu.cz/text/Network1/ProcedureFindingCP.htmlhttp://orms.pef.czu.cz/text/Network1/ProcedureFindingCP.htmlhttp://orms.pef.czu.cz/text/Network1/CPMAlgebraicPresentation.htmlhttp://orms.pef.czu.cz/text/Network1/CPMAlgebraicPresentation.htmlhttp://orms.pef.czu.cz/text/Network1/CPMAlgebraicPresentation.htmlhttp://orms.pef.czu.cz/text/Network1/ActivitySlacksAOACPMModels.htmlhttp://orms.pef.czu.cz/text/Network1/ActivitySlacksAOACPMModels.htmlhttp://orms.pef.czu.cz/text/Network1/ActivitySlacksAOACPMModels.htmlhttp://orms.pef.czu.cz/text/Network1/ActivitySlacksAOACPMModels.htmlhttp://orms.pef.czu.cz/text/Network1/CPMAlgebraicPresentation.htmlhttp://orms.pef.czu.cz/text/Network1/ProcedureFindingCP.htmlhttp://orms.pef.czu.cz/text/Network1/MatModelShortRoadProblem.htmlhttp://orms.pef.czu.cz/text/Network1/MatModelShortRoadProblem.html
  • 5/26/2018 Linear Programming Transportation Problem

    25/73

    Independent How the activity can be delayed without delaying a next task

    (successor activity) considering the latest realization of its start

    node.

    Dependent How the activity can be delayed without delaying project completion

    considering the latest realization of its start node.

    All the slacks can be displayedgraphically on a timescale.

    Lets have the project described in Table 8.1 and its AOA model representation (Picture8.3). Table 8.1 summarize the forward pass procedure(earliest starts and earliestfinishes of all activities are calculated).

    First set E0=0 (Event 0 or Node 0 earliest realization) because dummy activitieshave no predecessors, it starts at Time 0.

    If Activity D1 starts at 0 and takes 0 days, its earliest finish time is 0 days. Theonly activity before Node 1 is D1 (0,1), so E1= 0.

    If Activity D2 starts at 0 and takes 0 days, its earliest finish time is 0 days. Theonly activity before Node 2 is D1 (0,2), so E2= 0.

    Activity A (B) can start only after Event 1 (2), so their earliest start times are 0. The earliest finish time for activity A is its start time plus its duration (0+3=3). The earliest finish time for activity B is its start time plus its duration (0+90=90). Event 3 has both A and B predecessors, so E3= maximum (3,90) = 90. For activity C the earliest start time is E3= 10 and its earliest finish time is

    90+2=92. In the same way well finish the forward pass calculation for activities D, E, F, G,

    H. The critical path length is equal to the time of Node 8 earliest realization (E8), it is

    252 days.

    Act iv i ty Earl iest Start Earl iest Finish

    D1 0 0

    D2 0 0

    A 0 3

    B 0 90

    C 90 92

    D 92 122

    E 92 132

    http://orms.pef.czu.cz/text/Network1/GrapRepreActivity.htmlhttp://orms.pef.czu.cz/text/Network1/GrapRepreActivity.htmlhttp://orms.pef.czu.cz/text/Network1/GrapRepreActivity.htmlhttp://orms.pef.czu.cz/text/Network1/GrapRepreActivity.html
  • 5/26/2018 Linear Programming Transportation Problem

    26/73

    F 122 212

    G 212 242

    H 242 252

    Table 8.1Summary Results for CPM Forward Pass Procedure

    Weve completed the forward pass calculations. The length time needed for projectcompletion is 252 days. Next we do the backward pass calculation(latest starts andlatest finishes of all activities are calculated). The latest start timeis the latest anactivity can start, and the latest finish timeis the latest it can finish without delaying theproject completion. You set the time for the finish node to the project completion time,and you calculate the latest start times and latest finish times moving backward thenetwork.

    First set L8=252 (Event 8 or Node 8 latest realization)the latest time thatActivity H can finish.

    The latest start time for Activity H is its latest finish time minus its duration (252-10=242).

    Because Node 7 only successor activity is H, so L7=242. Therefore the latest finish time for activities E and G is equal to L7, i.e. 242. If Activity Gs latest finish is 242 and it takes 30 days, its latest start time is 242 -

    30=212 days. If Activity Es latest finish is 242 too and it takes 40 days, its latest start time is

    242-40=202 days. Because Node 6 only successor activity is G, so L8=212. In the same way well continue the backward pass calculation for activities F and

    D. Because Node 4 has two successors, so L4= minimum(latest start of D, latest

    start of) it is L4= minimum(92,202) = 92. In the same way well finish the backward pass calculation for activities C, B, A,

    D2 and D1.

    After finishing the backward pass procedure well continue with slack

    calculations. At first well calculate all total slacks to be able to identify the critical

    path. For example the total slack for Activity E is:

    Latest Start of EEarliest Start of E, or Latest Finish of EEarliest Finish of E it

    is 202-92=110.

    Remember, an activitys finish and start times differ by the activity time, so bothformulas give the same total slack. Table 8.2 summarize the earliest (latest) start(finish) times and all activity slacks. Critical activities have total slack equal to 0.The critical activities are D2, B, C, D, F, G, H and so the critical path joins events0-2-3-4-5-6-7-8.

  • 5/26/2018 Linear Programming Transportation Problem

    27/73

    Act iv i ty Earl iest

    Start

    Latest

    Start

    Earl iest

    Finish

    Latest

    Finish

    Total

    Slack

    Free

    Slack

    Indep.

    Slack

    Dep.

    Slack

    D1 0 87 0 87 87 0 0 87

    D2 0 0 0 0 0 0 0 0

    A 0 87 3 90 87 87 0 0

    B 0 0 90 90 0 0 0 0

    C 90 90 92 92 0 0 0 0

    D 92 92 122 122 0 0 0 0

    E 92 192 132 232 110 110 110 110

    F 122 122 212 212 0 0 0 0

    G 212 212 242 242 0 0 0 0

    H 242 242 252 242 0 0 0 0

    Table 8.2Summary Results for all CPM Calculations

    Examine Activity A. The earliest time that it can begin is 0 (at the same time as projectbeginning) and the earliest finish time is after 3 days. The latest that Activity A can finishwithout delaying the project is after 90 days - it can be 87 days delayed (total slack is87). The latest that Activity A can finish without delaying Activity C is 90 days too - it canbe 87 days delayed (free slack is 87). It cannot be delayed considering the latestrealization of the Node 1 (both independent and dependent slacks are 0). Detailcalculation of all slacks for noncritical tasks is availablehere.

    There are many ways how to represent information in project management modelsgraphically. Besides a classical network model a Gantt Chart (or linear diagram)representation of a project is widely used. Picture 8.1 shows a Gantt Chart representing

    the schedule of Building of a house project (see Table 8.1). The Gantt Chart displaystask information about the project using bar graphics. This Gantt Chart graphicallydisplays task durations, early start dates, early finish dates and total slacks on atimescale (non critical tasks in blue, critical tasks in red and total slacks in violet). Therelative position of the Gantt bars shows the sequence in which the project tasks arescheduled to occur.

    http://orms.pef.czu.cz/text/Network1/DetailCalculation.htmlhttp://orms.pef.czu.cz/text/Network1/DetailCalculation.htmlhttp://orms.pef.czu.cz/text/Network1/DetailCalculation.htmlhttp://orms.pef.czu.cz/text/Network1/DetailCalculation.html
  • 5/26/2018 Linear Programming Transportation Problem

    28/73

    Picture 8.1Gantt Chart Representing the Schedule of Building of a House Project(Output from Microsoft Project )

    8.4.3 Uncertain Activity Times

    We now make a more realistic assumption concerning activity times; namely, that theyare not known (or controllable) with certainty. Suppose activity times are treated asrandom variables. Then we need to obtain information concerning the probabilitydensity functions of these random variables before we may begin manipulating them.One technique to obtain such information is called the multiple-estimate approach.

    Instead of asking for an estimate of expected activity time directly, three time estimatesare requested, as follows:

    aij= Most optimistic time for activity (i,j)

    bij= Most pessimistic time for activity (i,j)

    mij= Most likely time for activity (i,j) (i.e., the mode)

    Following equation is used to estimate the expected (mean) activity time:

    (1)

    where tijis the expected (estimated) activity time for activity (i,j). For example, suppose

    the estimates for activity B are:

    aB= 1

    bB= 8

    mB= 3

    Then the expected time for activity B is:

  • 5/26/2018 Linear Programming Transportation Problem

    29/73

    tB= (1/6)(1 + 4 . 3 + 8) = (1/6) . 21 = 3,5

    The most likely or modal estimate for activity B is 3, but the expected time for thecompletion is 3.5. This occurs because the pessimistic time estimate is quite large. Theformula for expected time is used because this formula approximates the mean ofa beta distributionwhose end points are aijand bijand whose mode is mij. It is notpossible to justify the use of the beta distribution in a rigorous sense, but the distributionhas the following characteristics:

    It is unimodal. It is continuous. It has a finite range.

    Intuitively, the formula for estimation an expected activity time (1) gives some weight to

    the end points (aijand bij) as well as the mode (mij) in calculating the mean time for

    completion.

    The multiple-estimate approach is supposed to produce improved estimates of theexpected time to complete an activity. In practice, it is not obvious that the multiple-

    estimate approach leads to a better expected value than the singleestimate approach;however, the multiple-estimate approach allows us to consider the variability of the timefor completion of an activity. Equation (2) is used to estimate the standard deviation ofthe time required to complete an activity, based on the optimistic and pessimistic timeestimates:

    (2)

    where ijrepresents the standard deviation of the time required to complete activity(ij). Again, this formula is only an approximation used if the time to complete an activity

    is beta distributed. The value of the standard deviation is that it may be calculated foreach activity on a path to obtain an estimate of the standard deviation of the duration ofthe path.

    For instance, suppose the multiple time estimates shown in Table 8.1 were made for thePicture 8.3 project in our example but with different duration times.

    Task aij bij mij tij ij ij2

    D1 0 0 0 0 0 0

    D2 0 0 0 0 0 0

    A 2,8 3,5 3 3,30,1166670,013611

    B 60 99 90 91 6,5 42,25

    C 1,4 2,9 2 2,5 0,25 0,0625

  • 5/26/2018 Linear Programming Transportation Problem

    30/73

    D 28 35 30 331,1666671,361111

    E 110180130 13511,66667136,1111

    F 77100 9094,53,83333314,69444

    G 20 40 30 353,33333311,11111

    H

    9

    11

    10

    10,5

    0,333333

    0,111111

    Table 8.1 "Multiple Time Estimates"

    Thus, the critical path is still D2-B-C-D-F-G-H, with an expected length of 266,5 days14,5 days longer then the original critical path (seeThe procedure for finding criticalpathorCPM algebraic representation). Path D1-B-C-D-F-G-H has an expected lengthof 178,8 days, path D1-A-C-E-H has an expected length of 58,3 days and path D2-A-C-E-H has an expected length of 146 days. Table 8.1 contains the expected time for eachactivity and the standard deviation of time for each activity.

    Some authors suggest computing the standard deviation of the length of each path.Starting with the critical path, if we assume that the activity times are independentrandom variables, then the variance of the time to complete the critical path may becomputed as the sum of the variances of the activities on the critical path. (The varianceof a sum of random variables equals the sum of the variances of each random variableif the variables are independent.) If we add the variances along the critical path, weobtain:

    The standard deviation of the length of critical path is:

    If there is a large number of independent activities on the critical path, the distribution ofthe total time for the path can be assumed to be normal. (The sum of nindependentrandom variables with finite mean and variance tends toward normality by the centrallimit theorem as ntends toward infinity.) Our example only has seven activities, so theassumption of normality would not be strictly appropriate; but for illustration, our resultsmay be interpreted as follows: The length of time it takes to complete path D2-B-C-D- F-G-H is a normally distributed random variable with a mean of 266,5 days and a standarddeviation of 8,34 days. Given this information, it is possible to use tables ofthecumulative normal distributionor an NORMSDIST Excel formula to make probabilitystatements concerning various completion times for the critical path.

    For example, the probability of path D2-B-C-D-F-G-H being completed within 270 (X =270) days is:

    http://orms.pef.czu.cz/text/Network1/FindingCriticalPath.htmlhttp://orms.pef.czu.cz/text/Network1/FindingCriticalPath.htmlhttp://orms.pef.czu.cz/text/Network1/FindingCriticalPath.htmlhttp://orms.pef.czu.cz/text/Network1/FindingCriticalPath.htmlhttp://orms.pef.czu.cz/text/Network1/CPMAlgebraicPresentation.htmlhttp://orms.pef.czu.cz/text/Network1/CPMAlgebraicPresentation.htmlhttp://orms.pef.czu.cz/text/Network1/CPMAlgebraicPresentation.htmlhttp://orms.pef.czu.cz/text/Network1/TableCumulativeDistrib.htmlhttp://orms.pef.czu.cz/text/Network1/TableCumulativeDistrib.htmlhttp://orms.pef.czu.cz/text/Network1/TableCumulativeDistrib.htmlhttp://orms.pef.czu.cz/text/Network1/TableCumulativeDistrib.htmlhttp://orms.pef.czu.cz/text/Network1/CPMAlgebraicPresentation.htmlhttp://orms.pef.czu.cz/text/Network1/FindingCriticalPath.htmlhttp://orms.pef.czu.cz/text/Network1/FindingCriticalPath.html
  • 5/26/2018 Linear Programming Transportation Problem

    31/73

    where

    Fis a cumulative normal distribution function

    Xis a required critical path duration

    is a mean

    is a standard deviation

    However, there is a major problem in performing this type of analysis on the criticalpath. Apart from the difficulties involved in assuming that all activity times areindependent and beta distributed, it is not necessarily true that the longest expectedpath (i.e., the critical path) will turn out to be the longest actual path. In our example, thenoncritical path D2-B-C-E-H has an expected length of 239 days. The variance of thatpath and its standard deviation are:

    If we assume that the distribution of the length of path D2-B-C-E-H is normal, then theprobability of path D2-B-C-E-H being completed within 270 days is:

    (Given this information, it is possible to usetables of the cumulative normaldistributionor an NORMSDIST Excel formula.)

    The critical path and path D2-B-C-E-H must both be completed within 270 days for theproject to be completed within 270 days, since the project is not completed until allactivities are completed. The probability that both paths (critical and D2-B-C-E-H) arecompleted within 270 days is:

    (0,6626).(0,9898) = 0,65584.

    If we had considered only the critical path, the probability of not completing the projectin 270 days would have been:

    1 - 0,6626 = 0,3374.

    After path D2-B-C-E-H is also considered, the probability of not completing the project in270 days is higher:

    10,65584 = 0,34416.

    http://orms.pef.czu.cz/text/Network1/TableCumulativeDistrib.htmlhttp://orms.pef.czu.cz/text/Network1/TableCumulativeDistrib.htmlhttp://orms.pef.czu.cz/text/Network1/TableCumulativeDistrib.htmlhttp://orms.pef.czu.cz/text/Network1/TableCumulativeDistrib.htmlhttp://orms.pef.czu.cz/text/Network1/TableCumulativeDistrib.htmlhttp://orms.pef.czu.cz/text/Network1/TableCumulativeDistrib.html
  • 5/26/2018 Linear Programming Transportation Problem

    32/73

    Another way of describing the situation is to say that if the project takes more than 270days, critical path has a larger chance of causing the delay than path D2-B-C-E-H does.

    We could do theexamination of all paths in this project.For instance path D1-A-C-D-F-G-H may also turn out to be the most constraining path but with respect to the shortduration of task A (3 days) the probability is very small.

    Note: There are two activities in common between all paths - activity C and activity H,and thus the lengths of the paths are not independent variables. In order to calculate the

    probability values we should deal with the joint probability of dependent events and thisis beyond the methods of calculation presented in this chapter, but for our small projectthe values would be very similar.

    The problems we have encountered in a six-activity sample project are greatlymagnified when a realistic project with hundreds of activities is considered. Thus, thereis a serious danger in using the mean and variance of the length of the critical path toestimate the probability that the project will be completed within some specified time.Since some "noncritical" paths may in fact turn out to be constraining, the meanestimate of project completion time obtained by studying the critical path alone is toooptimistic an estimate; it is biased and always tends to underestimate the average

    project completion time.

    8.4.4 Simulation of PERT

    Another way of how to describe and calculate stochastic network models is to simulatethem. (For more information about simulation techniques see Chapter 10.) Any PERTnetwork can be simulated and in general terms, the steps would proceed as follows:

    1. Using (for example) a normal distribution of activity times for each activity, andusing each activity's calculated mean and standard deviation from Equations 1and 2, generate a random value (a realization) for the time to complete eachactivity in the network.

    2. Treat the generated times as actual times for each activity, and usethe criticalpath algorithm to find both the "actual critical path" (ex post) and the actualproject duration.

    3. Repeat steps 1 and 2 above for some large number of trials, recording ahistogram of project completion times and the percentage of time each activitywas on theex post critical path.

    Suppose a simulation were run 250 times for the sample network of this chapter, using

    means and standard deviations from Table 8.1. Picture 8.1 contains a representative

    histogram of the type that might be produced from the simulation.

    http://orms.pef.czu.cz/text/Network1/ProbExaminationPathBuilding.htmlhttp://orms.pef.czu.cz/text/Network1/ProbExaminationPathBuilding.htmlhttp://orms.pef.czu.cz/text/Network1/ProbExaminationPathBuilding.htmlhttp://orms.pef.czu.cz/text/Network1/CPMAlgebraicPresentation.htmlhttp://orms.pef.czu.cz/text/Network1/CPMAlgebraicPresentation.htmlhttp://orms.pef.czu.cz/text/Network1/CPMAlgebraicPresentation.htmlhttp://orms.pef.czu.cz/text/Network1/CPMAlgebraicPresentation.htmlhttp://orms.pef.czu.cz/text/Network1/ExPostCriticalPath.htmlhttp://orms.pef.czu.cz/text/Network1/ExPostCriticalPath.htmlhttp://orms.pef.czu.cz/text/Network1/ExPostCriticalPath.htmlhttp://orms.pef.czu.cz/text/Network1/ExPostCriticalPath.htmlhttp://orms.pef.czu.cz/text/Network1/CPMAlgebraicPresentation.htmlhttp://orms.pef.czu.cz/text/Network1/CPMAlgebraicPresentation.htmlhttp://orms.pef.czu.cz/text/Network1/ProbExaminationPathBuilding.html
  • 5/26/2018 Linear Programming Transportation Problem

    33/73

    Picture 8.1 " Frequency Distribution for Project Duration "

    Although the information contained in this picture would be useful in deciding whether ornot the risk of project lateness were tolerable, it is of no direct help in deciding how tocrash activities so as to speed the project. For this purpose, the simulation can recordthe percentage of times each path was ex post critical. There are four paths in ourexample, but only two of them (D2-B-C-D-F-G-H and D2-B-C-E-H) are potentiallycritical. Both paths containing the activity A (D1-C-D-F-G-H, D1-B-C-E-H) could not becritical, because this activity is too short to be able to influence project duration.

    Activities C and H lie on all paths and so their percentage of criticality is 100. Activity Blies on both path potentially critical and its percentage of criticality is 100 too. In

    Accordance WithPERT simulation detail resultsthe percentage of criticality for activitiesD, F and G is 97,6 and the percentage of criticality for activity E is 2,6.

    For a large network, a simulation of the regular program would produce a histogram likePicture 8.1. If the project performance needed to be improved, study of a table in PERTsimulation detail results would indicate the set of activities that, on the average, werecausing delays various percentages of the time. Then, after some of those "criticalactivities" were crashed, the simulation could be repeated to see whether or not projectperformance had been sufficiently improved.

    Summary of PERT Simulation:If the activity times in a PERT network are uncertain,then the length of the critical path calculated using deterministic estimates willunderstate the true expected project time. The probability distribution of the actualproject time and the probability that each activity will be on theex post critical path -canbe obtained by simulation. Conditional on the project being late, the simulation can alsoshow the percentage of time each activity was on the actual critical path.

    6. Introduction to Nonlinear Programming

    6.1 Nonlineari t ies in the mod el

    In Section 1, we discussed linear programming models. Linear programming has manyapplications. Linear programming models are used in business, industry, production,agriculture, administrative and other branches of human economic and social activities.

    However, not all decision models can be formulated by means of linear programmingmodels. One reason for this is that decision environments can have uncertainoutcomes. If the uncertainty in a decision environment is important, the model mustincorporate that uncertainty into the analysis. Uncertainty can be described by means of

    a nonlinear function. Thus in nonlinear model at least one of the restricting conditionsand/or objective function is nonlinear.

    An important example is the management of investment portfolios in finance, where theobjective might be to minimise the risk for a given expected return. Risk is measured asthe variance of the portfolio, and the variance is a square (nonlinear) measure. Inmarketing models, the effect on sales of different amounts spent on advertising isgenerally a nonlinear function. Hence, linear programming cannot be used for theseproblems.

    http://orms.pef.czu.cz/text/Network1/PertSimulationDetailResults.htmlhttp://orms.pef.czu.cz/text/Network1/PertSimulationDetailResults.htmlhttp://orms.pef.czu.cz/text/Network1/PertSimulationDetailResults.htmlhttp://orms.pef.czu.cz/text/Network1/PertSimulationDetailResults.htmlhttp://orms.pef.czu.cz/text/Network1/PertSimulationDetailResults.htmlhttp://orms.pef.czu.cz/text/Network1/ExPostCriticalPath.htmlhttp://orms.pef.czu.cz/text/Network1/ExPostCriticalPath.htmlhttp://orms.pef.czu.cz/text/Network1/ExPostCriticalPath.htmlhttp://orms.pef.czu.cz/text/Network1/ExPostCriticalPath.htmlhttp://orms.pef.czu.cz/text/Network1/PertSimulationDetailResults.htmlhttp://orms.pef.czu.cz/text/Network1/PertSimulationDetailResults.htmlhttp://orms.pef.czu.cz/text/Network1/PertSimulationDetailResults.html
  • 5/26/2018 Linear Programming Transportation Problem

    34/73

    Fortunately, there are generalised optimisation techniques that can be used to solvemany of these types of problems. One approach is to use mathematical analysis orcalculus. Using calculus, one can optimise a function by taking the derivative, setting itequal to zero, and then solving. If there are constraints, a technique called Lagrangianmultipliers is used. This approach is limited to relatively small problems with rathersimple functions. There are also a wide variety of procedures developed for specificnonlinear models. For example, quadratic programming is a technique for solvingproblems with linear constraints but a quadratic objective function.

    Another reason is that some constrained optimisation models violate the assumptions ofa linear programming model. Two such frequent violations are:

    introducing a nonlinear function into restricting conditions or/and objectivefunction

    restricting the values of some or all variables to integer values

    In this section, we will discuss the solution of constrained optimization models that

    obtain nonlinear functions among restricting conditions or which have nonlinear

    objective function.

    6.1.1 An illustrative example

    An illustrative example can be the "Case of a chemical company".

    In this model, for example, the relationship of the yield and the production rate tooperating conditions is not linear. For example, let us consider the number ofemployees who begin at each starting time: you can not have 3.7 people start atmidnight. All of the variables are continuous for a linear programming model, but afractional variable value doesn't make sense in personnel scheduling.

    Simplex process guarantees no integer values for the solution vector. There is no apriori reason why any vertex of the polyhedron of feasible solutions should be a latticepoint, i.e., have integer coordinates. Approximating the coordlinate values with integersdoes not necessarily yield a feasible vector, since the vertex yielding a solution may benearest to a lattice point outside the region of feasible solutions; and the nearestfeasible lattice point may not be near enough to justify any approximation.

    6.1.2 Integer programming model

    For many decision problems, some of the variables must be restricted to integer values.Constrained optimization models can violate either the linearity assumption or the

    continuous variable assumption.

    6.1.3. How to solve nonlinear programm

    Nonlinear programming model can not be solved by linear programming software. Thesoftware of linear programming assumes that all of the functions are linear and will notaccept any other input. The simplex algorithm does not solve nonlinear programmingmodels. For the solution of nonlinear programmesspecial algorithms and softwarehasto be used.

    http://orms.pef.czu.cz/text/NolinearProg/SubLevel/CaseOfChemicalCompany.htmlhttp://orms.pef.czu.cz/text/NolinearProg/SubLevel/CaseOfChemicalCompany.htmlhttp://orms.pef.czu.cz/text/NolinearProg/SubLevel/CaseOfChemicalCompany.htmlhttp://orms.pef.czu.cz/text/NolinearProg/SubLevel/SpecialAlgorithmSoftware.htmlhttp://orms.pef.czu.cz/text/NolinearProg/SubLevel/SpecialAlgorithmSoftware.htmlhttp://orms.pef.czu.cz/text/NolinearProg/SubLevel/SpecialAlgorithmSoftware.htmlhttp://orms.pef.czu.cz/text/NolinearProg/SubLevel/SpecialAlgorithmSoftware.htmlhttp://orms.pef.czu.cz/text/NolinearProg/SubLevel/CaseOfChemicalCompany.html
  • 5/26/2018 Linear Programming Transportation Problem

    35/73

    An integer linear programming model is a linear programming model in which some ofthe decision variables are restricted to integer values. Such model can be solved bymeans of simplex method. We can solve an integer nonlinear programming model bythe simplex method and hope that the variables will have integer values in the optimalsolution. In some cases we can be lucky but most of the time this does not happen.

    In general, software based on nonlinear programming algorithms is less widely availablethan software for linear programming models and integer programming models.

    6.1.4 Classification of nonlinear models

    Nonlinear programmes can be classified according to

    a) presence of nonlinearity among restricting conditions

    b) algorithms (software) used for solution

    Restricting

    conditions

    Objective

    function

    Algorithms

    Methods

    General nonlinear

    programming

    model

    nonlinear nonlinear gradient methods

    (Excel Solver)

    Quadratic

    programming

    linear nonlinear -

    quadratic form

    Zoutendijk

    Frank-Wolfe

    Wolfe

    Integer

    programming

    integer values

    in results

    complete enumeration

    cutting-plane

    branch and bound

    Piecewise

    programming

    nonlinear functions are

    reformulated to piecewise

    functions

    simplex method

    Most used software is Solver (Excel). This software gets approximate solutions whichare good enough for the practice.

    6.2 General nonl inear programm ing m odels

    6.2.1 Definition of the problem

  • 5/26/2018 Linear Programming Transportation Problem

    36/73

    The nonlinear programming problem is concerned with the maximisation or minimisationof a continuous and differentiable function of a real variables

    f(x1, x2, , xn)

    called objective function, subject to m inequality constraints

    gi(x1, x2, , xn) , i = 1, 2, , m, and xj , j = 1, 2, , n.

    Both nonlinear restricting conditions and objective function can be depicted as nonlinear

    lines, see Fig. 1:

    Figure 1

    The functions gi(x1, x2, , xn) , i = 1, 2, , m, will be assumed to be convex. The

    last corollary asserts that the feasible region is convex. In general, solving general

    problem requires that a point from the feasible region can be found which es f. The

    objective function f will be assumed to beconvex (concave)if problem involves theminimisation (maximisation) of the objective function f. These restrictions on f and

    gitogether lead to an important property of the problem:

    Anylocal optimumis aglobal optimumof the objective function in the feasible region.

    http://orms.pef.czu.cz/text/NolinearProg/SubLevel/Convex.htmlhttp://orms.pef.czu.cz/text/NolinearProg/SubLevel/Convex.htmlhttp://orms.pef.czu.cz/text/NolinearProg/SubLevel/Convex.htmlhttp://orms.pef.czu.cz/text/NolinearProg/SubLevel/LocalOptimum.htmlhttp://orms.pef.czu.cz/text/NolinearProg/SubLevel/LocalOptimum.htmlhttp://orms.pef.czu.cz/text/NolinearProg/SubLevel/LocalOptimum.htmlhttp://orms.pef.czu.cz/text/NolinearProg/SubLevel/LocalOptimum.htmlhttp://orms.pef.czu.cz/text/NolinearProg/SubLevel/LocalOptimum.htmlhttp://orms.pef.czu.cz/text/NolinearProg/SubLevel/LocalOptimum.htmlhttp://orms.pef.czu.cz/text/NolinearProg/SubLevel/LocalOptimum.htmlhttp://orms.pef.czu.cz/text/NolinearProg/SubLevel/LocalOptimum.htmlhttp://orms.pef.czu.cz/text/NolinearProg/SubLevel/Convex.html
  • 5/26/2018 Linear Programming Transportation Problem

    37/73

    This follows from the fact that the line segment joining a local optimum attained in the

    region to a global optimum also attained in the region must itself lie in the region

    because of convexity. Hence f must be a constant on this segment Thus a local

    optimum is global. Illustration of the property is seen on Figure 2:

    Figure 2

    The nonlinear function (depicted in Figure 3) reaches its maximum on inner region of its

    set of feasible solutions at the point x1; this maximum is equal to P(x1).The minimum is

    reached at the boundary point x2with the value of Q(x2).

    Ordinary differential calculus methods for finding the extremum of an unconstrainedfunction, when applied to f, may yield values which are in the region, in which case, onehas a solution of the problem. One usually begins by testing for an optimum in theregion. This process itself may be consuming and costly. On the other hand if theoptimum lies on the boundary, then the problem is no longer simple. If it were knownwhich of the constraints determined the optimum, then one could apply theLagrange-multipliermethod using these "active" constraints after replacing the inequality sign byequality, since the optimum is on the boundary. In general, exploration of the boundary

    is necessary for determining the active set; this may be tedious when m is large. Thepurpose of all efficient methods is to use steps which lead to active constraints and, infact, to the optimum.

    6.2.2 Examples

    Examples of nonlinear programming problems abound in the literature. The followingare among the better-known problems:

    http://orms.pef.czu.cz/text/NolinearProg/SubLevel/LagreangeMultiplier.htmlhttp://orms.pef.czu.cz/text/NolinearProg/SubLevel/LagreangeMultiplier.htmlhttp://orms.pef.czu.cz/text/NolinearProg/SubLevel/LagreangeMultiplier.htmlhttp://orms.pef.czu.cz/text/NolinearProg/SubLevel/LagreangeMultiplier.htmlhttp://orms.pef.czu.cz/text/NolinearProg/SubLevel/LagreangeMultiplier.htmlhttp://orms.pef.czu.cz/text/NolinearProg/SubLevel/LagreangeMultiplier.html
  • 5/26/2018 Linear Programming Transportation Problem

    38/73

    A monopolist wishes to maximise his revenue. The sale price pjof a commoditydepends on the quantity of each of several commodities which he produces unlike thecase of free competition. Thus, if the revenue is given by

    where pj is the price of the j-th commodity , and xjis the amount of the j-th commodity to

    be produced, then

    If we substitute these quantities in f, we obtain a quadratic function to be maximised

    subject to nonnegativity constraints xj , j = 1, 2, , a and subject to capacity

    constraints which may be prescribed linearly. Thus, since f (x) is nonlinear, we have a

    nonlinear program.

    A similar problem may be formulated in which the cost of producing a commoditydepends on the quantity produced. In this case the objective is to find the xjwhich

    minimise the quadratic function f(x) subject to xj and subject to the constraints that

    the entire capacity should be used. These constraints can be expressed in terms oflinear inequalities with nonnegative coefficients.

    Another interesting example is to find a best linear approximation to a set of observeddata (xj, yj), j = 1, 2, , n, subject to constraints on the coefficients of the approximatinglinear expression. Thus the problem may take the following form:

    Find the a and b which minimise

    subject to a, b 0. Ordinary least-square methods may not be applicable because of

    the presence of constraints.

  • 5/26/2018 Linear Programming Transportation Problem

    39/73

    Yet another example is that of portfolio selection, in which an investor wishes to allocatea given sum of money C to different securities. He must maximise the expected returnfor a fixed variance or minimise the variance for a fixed return. If xj, j = 1, 2, , n is theamount to be invested on the j-th security, then

    The total return is

    its expected value is

    and its variance is

    where (aij) is the covariance matrix of random variable rj, the return on the j-th security,

    and is its expected value.

    These problems are obviously nonlinear, in the first case because of the presence of aquadratic constraint, and in the second because this constraint is the function to beminimised.

    Problems in which profit is described by a nonlinear function of the variables to bemaximised subject to constraints can also be nonlinear programs.

    6.2.3 Background to the solution

    Necessary and sufficient conditions for an optimum on the boundary are described ingeneral Theorem for nonlinear programme - Kuhn-Tucker theorem. These conditionsoccasionally enable one to -obtain this optimum. However, they provide basic ideasused in developing iterative algorithms. This characterisation is obtained throughconcepts involving gradients and saddle points and through differential equations. The

  • 5/26/2018 Linear Programming Transportation Problem

    40/73

    greater the variety of characterisation theorems, the greater is the possibility ofconstructing ingenious algorithms, perhaps by borrowing ideas from related fields.

    We shall be using the Lagrangian function F(x,u) for a maximisation problem. Thisfunction is defined by following formula:

    F(x,u) = f (x) - uG(x)

    where u= (u1, , um) is vector of lagrangian multipliers, f(x) is the objective function

    and G(x) is the system of restricting conditions

    Here x= (x1, , xn) and G(x) 0 implies that all gi(x) 0.

    Now lets define gradient of G(x)

    .

    Note that if xis a point on the boundary, then it need not yield equality for all the

    constraints. Since it is a feasible point, the constraints on whose boundary it does not lie

    are satisfied strictly; that is, gi(x) < 0. The remaining constraints gi(x) = 0.

    6.2.4 Kuhn-Tucker theorem

    Kuhn-Tucker theorem implies, that

    A necessary condition that f(x) attains its maximum at a boundary point xoof G(x) < 0,with x> 0, is that there exist u 0 such that

  • 5/26/2018 Linear Programming Transportation Problem

    41/73

    The theorem obviously also holds if xis an interior point, for in this case x> 0, G(x) < 0,

    so that u= 0.

    The point (xo,u) is called a saddle point of F(x,u).

    6.2.5 Kuhn-Tucker conditions

    A necessary condition for (x,u) to be a saddle point of F is that xand usatisfy

    The foregoing two sets of conditions, together with the two conditions analogous toseries expansions in the neighborhood of (x, u) up to linear terms

    are sufficient for (x,u) to be a saddle point with x 0, u 0.

    Kuhn-Tucker conditions reduce the problem of maximising a function subject toconstraints to that of minimising a single function, i.e., the lagrangian, with respectto uafter taking its maximum with respect to x. Thus one is able to apply iterativetechniques to minimise the lagrangian with respect to u.

    6.2.6 Kuhn-Tucker theory in process of solution

    Kuhn-Tucker conditions are the base for many solving procedures. An iterativeprocedure that converges to the optimum may be employed in solving the nonlinearproblem. We select an arbitrary point in the feasible region as an initial point; if it doesnot yield the optimum, we obviously would like to shift to another point at which theobjective function has an improved value. Often the gradient determines the direction ofour movement. In a maximisation problem we move along the gradient; otherwise wemove in a direction opposite to that of the gradient. The actual distance to be traversedmay be determined in a manner analogous to that used in the method of steepest

    descent. By repetition of this process, the optimum may be reached in a finite or aninfinite number of steps. Several of the algorithms discussed were actually employvariations of the procedure just described. We illustrate with examples.

    For convenience we consider the problem of minimising a convex function. Hence at

    each step we calculate - f instead of f. The initial step towards the solution involvesa routine check by differentiation to determine whether the maximum lies in the interiorof the feasible region R. If not, we know it lies on the boundary.

  • 5/26/2018 Linear Programming Transportation Problem

    42/73

    We start with any point xin the feasible region and calculate - f(x). If xis an interior

    point, we move along the vector - f(xo) a distance equal to its length and arrive at apoint whose coordinates are

    x1= xo- f(xo).

    If x1belongs to the region (i.e., satisfies the constraints) and f(x1) < f (x), then x1is our

    new point. Otherwise we obtain a new point by applying the gradient method on the

    segment (x, x1). If, in either ctase, x1does not belong to the region, we take those

    constraints which are not satisfied by x1and calculate their intersection with the line

    passing through x and x1. This line in n space is given as the intersection of n-1

    hyperplanes. Hence for each constraint one must solve for n unknowns from n.

    equations, of which n-1 are linear and the remaining one is a constraint.

    Among all these points of intersection, the one nearest to x must satisfy all theconstraints and, hence, would belong to R. We denote this point by x1. If f (x1) < f(xo),then x1is the new starting point; otherwise we apply the gradient criterion to pick a pointon xo, x1at which the value of f would be smaller than at xo.

    If xolies on the boundary of R and is the required optimum, the gradients of theobjective function and the constraints (evaluated at xo) satisfy Kuhn-Tucker theorem.

    Otherwise we compute the projection of - f on the intersection of the tangent planes toall the surfaces gi(x) = 0 at x

    o. The equation of such a tangent plane is given by

    The intersection of these planes is a plane of dimension at least equal to n-m. The

    projection of - f on this intersection is a line whose length is

    This projection determines a ray along which we must move to our next point. Themagnitude of the step is determined by the gradient criterion. If this new point does not

    lie in R [if the g:(x) are convex, the point cannot lie in R], then a new appropriate point

    may be chosen in R such that f shows an improvement for the new value. This

    procedure of choosing the point in R is involved and is discussed by Rosen.

    6.2.7 Example

  • 5/26/2018 Linear Programming Transportation Problem

    43/73

    In the example considered below, we shall only show how to obtain the length of the

    projection of - f on the tangent planes. If the projection of - f on the intersection ofthese hyperplanes is zero, we locate the surfaces which, if dropped from the set of g i(x)containing x, will yield a nonzero projection of the gradient on the intersection of thetangent planes to the remaining surfaces. Once this is accomplished, the procedura isthe same as above.

    To illustrate, let

    f(x,y) = (x - 3)2 + (y - 1/2)2

    g1(x,y) = x - 2

    g2(x,y) = x2- 2x - 3 + 4y

    and suppose it