Sei sulla pagina 1di 73

17.

The Transportation Problem There is a type of linear programming problem that may be solved using a simplified version of the simplex technique called transportation method. Because of its major application in solving problems involving several product sources and several destinations of products, this type of problem is frequently called the transportation problem. It gets its name from its application to problems involving transporting products from several sources to several destinations. Although the formation can be used to represent more general assignment and scheduling problems as well as transportation and distribution problems. The two common objectives of such problems are either (1) minimize the cost of shipping m units to n destinations or (2) maximize the profit of shipping m units to n destinations. Let us assume there are m sources supplying n destinations. Source capacities, destinations requirements and costs of material shipping from each source to each destination are given constantly. The transportation problem can be described using following linear programming mathematical model and usually it appears in a transportation tableau. There are three general steps in solving transportation problems. We will now discuss each one in the context of a simple example. Suppose one company has four factories supplying four warehouses and its management wants to determine the minimum-cost shipping schedule for its weekly output of chests. Factory supply, warehouse demands, and shipping costs per one chest (unit) are shown in Table 7.1

Table 7.1 Data for Transportation Problem At first, it is necessary to prepare an initial feasible solution, which may be done in several different ways; the only requirement is that the destination needs be met within the constraints of source supply. 7.1 The Transportation Matrix The transportation matrix for this example appears in Table 7.2, where supply availability at each factory is shown in the far right column and the warehouse demands are shown in the bottom row. The unit shipping costs are shown in the small boxes within the cells (see transportation tableau at the initiation of solving all cells are empty). It is important at this step to make sure that the total supply availabilities and total demand requirements are equal. Often there is an excess supply or demand. In such situations, for the transportation method to work, a dummy warehouse or factory must be added. Procedurally, this involves inserting an extra row (for an additional

factory) or an extra column (for an ad warehouse). The amount of supply or demand required 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 the dummy equals the difference between the row and column totals. In this case there is 52 51 = 1. The cost figures in each cell of the dummy row would be set at zero so any units sent there would not incur a transportation cost. Theoretically, this adjustment is equivalent to the simplex procedure of inserting a slack variable in a constraint inequality to convert it to an equation, and, as in the simplex, the cost of the dummy would be zero in the objective function.

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

7.2 Initial Feasible Solution Initial allocation entails assigning numbers to cells to satisfy supply and demand constraints. Next we will discuss several methods for doing this: the Northwest-Corner method, Least-Cost method, and Vogel's approximation method (VAM). Table 7.3 shows a northwest-corner assignment. (Cell A-E was assigned first, A-F second, 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 lowcost cells bypassed by using the northwest-comer method. Indeed, this is to be

expected since this method ignores costs in favor of following an easily programmable allocation algorithm. Table 7.4 shows a least-cost assignment. (Cell Dummy-E was assigned first, C-E second, 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-F second, 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.3 Northwest Corner Assignment

Table 7.4"Least - Cost Assignment"

Table 7.5 "VAM Assignment" 7.3 Develop Optimal Solution To develop an optimal solution in a transportation problem involves evaluating each unused cell to determine whether a shift into it is advantageous from a total-cost stand point. If it is, the shift is made, and the process is repeated. When all cells have been evaluated and appropriate shifts made, the problem is solved. One approach to making this evaluation is the Stepping stone method. The term stepping stone appeared in early descriptions of the method, in which unused cells were referred to as "water" and used cells as "stones" from the analogy of walking on a path of stones half-submerged in water. The stepping stone method was applied to the VAM initial solution, as shown in Table 7.5 Table 7.6 shows the optimal solutions reached by the Stepping stone method. Such solution is very close to the solution found using VAM method.

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

7.4 Alternate Optimal Solutions When the evaluation of any empty cell yields the same cost as the existing allocation, an alternate optimal solution exists (see Stepping Stone Method alternate solutions). Assume that all other cells are optimally assigned. In such cases, management has additional flexibility and can invoke nontransportation cost factors in deciding on a final shipping schedule.

Table 7.7 "Alternate Optimal Matrix for the Chest Transportation Problem, With Minimum Transportation Cost of $1,000. 7.5 Degeneracy Degeneracy exists in a transportation problem when the number of filled cells is less than 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 a row or column satisfies both the row and column requirements or during the Stepping stone 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 closed path can be developed to evaluate other empty cells. This value may be thought of as an 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 in exactly the same manner as a real number except that it may initially be placed in any empty 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 would be impossible to evaluate several cells. were not assigned to the matrix, it

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

While the choice of where to put an is arbitrary, it saves time if it is placed where it may 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 Transportation Problem with a Maximization as a Criterion A fictive corporation A has a contract to supply motors for all tractors produced by a fictive corporation B. Corporation B manufactures the tractors at four locations around Central Europe: Prague, Warsaw, Budapest and Vienna. Plans call for the following numbers 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 production capacities 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 motor depends on where they were produced and where they were shipped. The following transportation table (Table 7.9) gives the accounting department estimates of the euro profit per unit (motor).

Table 7.9 "The Euro Profit Per One Shipped Motor" Table 7.10 shows a highest - profit assignment (Least Cost method modification). In contrast to the Least Cost method it allocates as much as possible to the highest-cost cell. (Cell Hamburg - Budapest was assigned first, Munich - Warsaw second, Leipzig Warsaw third, Leipzig Budapest fourth, Dresden Prague fifth and Leipzig Prague sixth.) Total profit : 3 335 000 euro.

Table 7.10 "Highest - Profit Assignment" Applying the Stepping Stone method (modified for maximization purposes) to the initial solution we can see that no other transportation schedule can increase the profit and so the Highest Profit initial allocation is also an optimal solution of this transportation problem. 7.7 The Transshipment Problem The transshipment problem is similar to the transportation problem except that in the transshipment 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 from one demand point to another. Actually, designating nodes as supply points or demand points becomes confusing when you can ship both into and out of a node. You can

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 one city at a very low cost and then transshipped to other cities. In some situations, this can be 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. The transportation cost from Pilsen to Innsbruck is 300 euro per unit, so it costs less to ship from Warsaw to Innsbruck by going through Pilsen. The direct cost is 950 euro, and the transshipping cost is 600 + 300 = 900 euro. Because the transportation cost is 300 euro from Pilsen to Innsbruck, the cost of transshipping from Prague through Pilsen to Innsbruck is 400 euro per unit. It is cheaper to transship from Prague through Pilsen than 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 considering all transshipment possibilities. Let's perform the first conversion for the Picture 7.1 example. Because a transportation table Prague, Warsaw, and Vienna have excesses, they are the supply points. Because Krakow, Pilsen, Innsbruck, and Linz have shortages, they are the demand points. The cheapest cost from Warsaw to Innsbruck is 900 euro, transshipping through Pilsen. The cheapest cost from Prague to Innsbruck is 400 euro, transshipping through Pilsen too. The cheapest cost from all other supply points to demand points is obtained through direct shipment. Table 7.11 shows the balanced transportation table for this transshipment problem. For a simple transportation network, finding all of the cheapest routes from excess nodes to shortage nodes 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.

Table 7.11 "The Transshipment Problem After Conversion to a Transportation Model" The second conversion of a transshipment problem to a transportation model doesn't require finding all of the cheapest routes from excess nodes table to shortage nodes. The second conversion requires more supply and demand nodes than the first conversion, because the points where you can ship into and out of, occur in the converted transportation problem twice first as a supply point and second as a demand point. 7.8 The Assignment Problem Another transportation problem is the assignment problem. You can use this problem to assign tasks to people or jobs to machines. You can also use it to award contracts to bidders. Let's describe the assignment problem as assigning n tasks to n people. Each person must do one and only one task, and each task must be done by only one person. You represent each person and each task by a node. Number the people 1 to n, and number the tasks 1 to n. The assignment problem can be described simply using a verbal model or using a linear programming mathematical model . For example, say that five groups of computer users must be trained for five new types of software. Because the users have different computer skill levels, the total cost of trainings depends on the assignments.

Table 7.12 Cost of Trainings According 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 a balanced assignment problem, the relationships are all equal. Each person must do a task. 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. In general, the simplex method does not guarantee that the optimal values of the decision variables are integers. Fortunately, for the assignment model, all of the corner point solutions have integer values for all of the variables. Therefore, when the simplex method determines the optimal corner point, all of the variable values are integers and the 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 assignment model are integers. The assignment model is a special case of the transportation problem, and the transportation problem has integer variable values for every corner point. For the assignment model, the number of supply and demand points are both n. The supply points correspond to each person, and the demand points correspond to each task. Furthermore, every supply amount is 1 and every demand amount is 1. There is one of each person and one of each task.

Table 7.13 The Computer Users Assignment Problem in the Transportation Table Format Table 7.13 represents the computer users assignment problem in the balanced transportation table format. For the computer users assignment problem, you minimize the total cost of training. Because number of users = 5 and software types = 5, the transportation problem is balanced. You can use standard method for initial solution finding (Northwest-Corner method, Least-Cost method, or Vogel's approximation method (VAM) and a SteppingStone 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 same mathematical structure as the transportation problem, even though it has nothing to do with shipping units. Note, that each feasible solution of assignment problem will always be strongly degenerated (number of nonzero variables will always be n). 7.9 Conclusion The transportation problem is only a special topic of the linear programming problems. It would 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 to justify spending time for manual solution.( There are also programs that assist in the construction of the LP or TP model itself. Probably the best known is GAMS General Algebraic Modeling System (GAMS-General, San Francisco, CA). This provides a highlevel language for easy representation of complex problems.)

8. NETWORK MODELS 8.1 The Terminology of Network Models

Network models have mathematical structures that are effectively exploited. We discuss the general mathematical structure of network models now. Later in this sections, we discuss some special network problems. Planning the distribution of products, planning the building of a house or planning the sewerage or drainage system are common application for network models. Let's think of network models for physical distribution of grain as we describe network models in general. This kind of model will be used to illustrate the terminology of network models. A network model consists of nodes connected by arcs. Think of nodes as cities and arcs as roads and of a network as consisting of cities connected by roads. A directed arc has a direction associated with it. For example, traffic goes in only one direction on a one-way road.

Picture 8.1 Example of Network

Picture 8.1 illustrates an example with 7 nodes and 10 directed arcs. The arc directions are indicated by the arrows. For each road, a cost for use and a maximum capacity limit can be imposed.

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 n nodes, 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 this example, 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 to the node at the end of the arc (arrow). Doing this specifies the direction of the arc. The cost per unit shipped from Node i to Node j, the maximum capacity from Node i to Node j and anet stock position of each node can be specified. (For more information see Node positions and arc capacities in networks.) A network model is defined by specifying the nodes and their net stock positions, and the arcs and their costs, minimums, and maximum capacities. We call a pictorial representation such as Picture 8.2 the network model. Such a picture helps us understand the network. There are many special network problems. These problems are special cases of the general network model. Some of them have additional restrictions on how nodes are connected. Some don't have capacity limits. Some have different assumptions on the initial amounts on hand or the amounts to be dropped off at nodes. Before we discuss special network problems, let's state an important property of optimal, corner point solutions for general network problems. For each of the network models discussed, if the net stock positions, minimums, and capacities are integer values, all corner point solutions result in every variable value being integer. Because the simplex method gives an optimal corner point solution, this method and its variants achieve optimal solutions with integer variable values. We discuss each special network problem in a separate section. For each, we describe applications, and discuss the mathematical structure. 8.2 The Maximum Flow Problem

Let's consider a network that has one input node and one output node. The maximum 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 pipeline system used to transport drinking water from the main water station to surrounding cities and villages. The capacity of a water pipeline segment depends on its diameter and the pumping stations and tank towers. The company wants to determine the maximum 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 flow problem to determine the maximum number of simultaneous calls that can be made between two cities. Phone calls can be routed in many ways between them. Lines between pairs of cities along the routes have different capacities. Let's consider an Aqueduct Problem. One section of the aqueduct must be completely closed due to a general repair. When the section is closed, several pipeline detour are available. Let's develop a maximum flow problem to determine the maximum flow that the 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 pipelines between different points - water tanks, reservoirs or pumping stations. Nodes 1 and 8 are 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) per minute. The 2 on Arc (2,4) indicates that 2 m3 of water is the maximum flow on the pipe from Node 2 to Node 3. The flows between the nodes are only in one direction. Let's find the maximum flow from Node 1 to Node 8. If the maximum flow is large enough, the inhabitants, water-house clients, will not be limited by the section closing.

Our problem has its own algebraic representation and can be described using maximum flow problem mathematical model and solved using simplex method. The optimal solution provided by Linkosa software (see SW download) is shown in Table 8.1. Structure of the model inputs for Linkosa Solver is available here. Such problem could be well solved using LINDO.

Optimal Solution of the Model Aqueduct Max. value of the objective function Max Flow is 11 Structural variables Name Z X1,2 X1,3 X2,4 X2,5 X3,4 X3,6 X4,5 X5,6 X5,7 X6,7 X6,8 X7,8 Value 11 5 6 2 3 1 5 3 4 2 2 7 4 Type Basic Basic Upper bound Upper bound Basic Basic Upper bound Basic Upper bound Basic Basic Upper bound Upper bound Constraints Name Node 1 Node 2 Node 3 Node 4 Node 5 Node 6 Node 7 Node 8 Value 0 0 0 0 0 0 0 0 Slack 0 0 0 0 0 0 0 0

Table 8.1 Optimal Solution of the Model Aqueduct with Maximum Flow = 11 The maximum flow is 11, or 11 m3 of water per minute. The solution shows the amount of water per minute for each pipeline in the alternate system. For example, 3 m 3 of water per minute will flow from Node 4 to Node 5 (variable x4,5), 4 m3 of water per minute will flow from Node 7 to Node 8 (variable x7,8).

8.2.1 More then One Input or Output Node We discussed the maximum flow problem with only one input node and only one output node. Let's consider an example with two input nodes. In Picture 8.3. the output node is Node 5, but Nodes 1 and 2 are both input nodes. We want to find the total maximum flow 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 only one input node. We introduce a dummy node - Node 0 and arcs from Node 0 to all of the input nodes. In this example, you introduce arcs to Nodes 1 and 2 as illustrated in Picture 8.4. The capacities on Arcs (0,1) and (0,2) are infinite. For practical solutions they will be very high (high enough), much higher than the highest arc capacity in the model for example 100.

Picture 8.5 "Network Model with Dummy Starting Node Added"

This transformation allows solving a maximum flow problem with two sources by maximum flow software that requires only one input node and one output node. If there is more than one output node, use a similar modification by creating a dummy node that follows all of the possible output nodes to the dummy output node. 8.3 The Shortest Route Problem The shortest-route problem is a network problem with many applications. As an example, 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 you minimize the distance and not the flying ticket price (it usually doesnt depend on the distance 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 a route is obtained by adding all of the distances on that route. Your objective is to find the route to Singapore, with the smallest total distance. Thus, your problem is a shortest-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 as well. 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"

Picture 8.6 shows possible flight segments from Prague to Singapore. The distance between each two cities are on the arcs, the node numbers are small red numbers nearby 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 stock position 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 net stock positions are + 1 , 0, and - 1, the xij , must be <= 1. As with many network models, the optimal corner point solution has integer variable values. Thus, the xij, are all 0 or 1 (Boolean). If xij = 1, the arc is included in the shortest route; if xij = 0, the arc is not included. be limited by the section closing. This problem has the algebraic representation similar to maximum flow problem and can be described using bivalent programming mathematical model.

The optimal solution provided by Linkosa software (see SW download) is shown in Table 8.1.

Optimal Solution of the Model Shortest Route Min. value of the objective function Distance is 10560 Structural variables Name X1,2 X1,3 X1,4 X2,6 X3,5 X4,5 X4,8 X5,6 X5,8 X6,7 Value Type 0 1 0 0 1 0 0 1 0 0 Lower bound Basic Lower bound Basic Basic Lower bound Basic Basic Lower bound Lower bound Constraints Name Prague Frankfurt Vienna Zurich Amman Dubai Bombay Bangkok Singapore Value Slack 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0

X6,9 X7,8 X8,9

1 0 0

Basic Basic 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 Prague Vienna (x1,3 = 1), Vienna Amman (x3,5 = 1), Amman Dubai (x5,6 = 1) and Dubai Singapore (x6,9 = 1). The sum of these flight segments length generates the minimum total distance from Prague to Singapore, 10560 km. You can find the shortest route from Prague to Singapore by careful examination of the network 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 nodes and arcs, you need a computer. lf you must solve many shortest-route problems through a complex network, you can use shortest-route software that is more efficient than LINDO or Linkosa software. But except for networks with a very large number of nodes and arcs, it is generally not necessary to search for software that uses the most efficient algorithm for your shortestroute If you have complex shortest-route problems, you should understand two important factors in selecting software-the variety of the problem and the network structure. The variety is the set of nodes for which you need the shortest route. For example, do you 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 an algorithm for the first variety of problem to solve all of the other varieties. You do this by repeating the algorithm for each desired pair of nodes. However, because this procedure repeats many calculations, it is inefficient. The other factor is the network structure. You should understand the distinction between cyclic networks and acyclic networks. If your network is acyclic, software using an acyclic network algorithm is more efficient than software using a cyclic network algorithm. Acyclic networks are much easier to analyze than cyclic networks. Thus, algorithms for acyclic networks are much more efficient then algorithms for cyclic networks. 8.4 The Critical Path Methods and Project Management You can use management science for planning, scheduling, and controlling complex projects 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) or Metra Potential Method (MPM) for deterministic projects and Project Evaluation and Review Technique (PERT) for stochastic projects. Some advanced methods for project

management such as Critical Chain (CCM) or Q-GERT will not be mentioned in this chapter. Common applications of these methods include: 1. Major construction projects applications 2. Research and development projects 3. Maintenance of complex equipment You can use CPM, PERT or MPM for onetime projects, such as the first two types named above, and for projects that are repeated, such as the third type. There are many successful applications of all these methods in project management in civil 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). The interdependencies of the activities makes the coordination complicated. Some activities must be completed before others begin, and some activities require the same resources, 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 the time for completing activities was uncertain, PERT included probabilistic activity times. CPM was developed for major preventive maintenance projects at Du Pont. Because cost was a major consideration in these programs, CPM included costs. MPM method was 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 doesnt depend 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. For each activity, you list its immediate predecessors and its estimated time. (Later, we discuss probabilistic activity times.) A precedence requirement specifies that an activity must be completed before another is begun (Later, we discuss another possibility for

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

Task Code

Task Name

Task Duration Predecessors Name (in days) 3 90 2 Site Plan, Building Plans

A B C

Site Plan Building Plans Construction Permit and Contract Groundwork

30

Construction Permit and Contract Construction Permit and Contract Groundwork Walls Frame and Roof, Garage Construction

Garage Construction

60

F G H

Walls Frame and Roof Garden

90 30 10

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 begin immediately. However, all other tasks cant start until their predecessors have been completed. Let's construct the AON network for the this project. We use the arrows on the arcs to show relationships between tasks. Picture 8.1shows one part of a network model for Building of a House Project. Each node represents an event, the starting or finishing of an activity. Nodes 1 (Site Plan) and 2 (Building Plan) are both the project starting events. Node 3 (Construction Permit and Contract) is the event at which Tasks 1 and 2 are finished.

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 Microsoft Project )

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

finished before their beginning. Our project has two beginnings (Node 1 and Node 2) and so we introduce a dummy node to 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 Dummy Activities"

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 the step 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 wants to have the house completed as soon as possible, and he wants to know the expected completion time for the construction. Sometimes you can work only on one task and sometimes, it's possible to work on more than one activity at a time. For example, you can 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 AOA model . 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 four paths from Node 1 to Node 6. 1. 2. 3. 4. The path D1-A-C-D-F-G-H totals 0 + 3 + 2 + 30 +90 + 30 +10 = 165 days. The path D2-B-C-D-F-G-H totals 0 + 90 + 2 + 30 +90 + 30 +10 = 252 days. The path D1-A-C-E-H totals 0 + 3 + 2 + 40 + 10 = 55 days. 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.

The critical path is the longest path through the network. For our project critical activities, the critical path is B-C-D-F-G-H with a duration of 252 days. The critical activities are on the critical path. Delaying the completion of a critical activity delays completion 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 257 days. You can find the critical path by solving a longest-route problem (modification of the mathematical model of shortest route problem). We discussed solving the shortest-route problem by linear programming optimization model. You give the starting node a net stock position of + 1 and the finishing node a net stock position of - 1. For minimization software, let the arc costs be the negative of the activity times. You can also use special, 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 calculations for finding the critical 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 of the possible paths and finding the longest. But for complex networks, this is very complicated 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 noncritical activities be delayed without delaying project completion? We show how to answer all four questions by the forward and backward pass calculations. For all CPM calculations, note that the network is acyclic. Every project management network is acyclic, and this simplifies finding the longest (or shortest) path. The earliest start time is the earliest an activity can start, and the earliest finish time is the earliest it can finish. The latest start time is the latest an activity must start, and the latest finish time is the latest it must finish.The procedure for finding critical path has 8 steps, which can be described using CPM algebraic representation , and at the end of it we can answer all the questions mentioned above. Critical activities have the total slack equal to zero, noncritical activities have the total slack greater then zero. The total slack for noncritical activity shows, how the activity can be delayed without delaying project completion. Besides the basic CPM calculations a more precise analysis of activity slacks can be done.

Kind of a slack Meaning of a slack Total Free How the activity can be delayed without delaying project completion. How the activity can be delayed without delaying a next task (successor activity).

Independent

How the activity can be delayed without delaying a next task (successor activity) considering the latest realization of its start node. How the activity can be delayed without delaying project completion considering the latest realization of its start node.

Dependent

All the slacks can be displayed graphically on a timescale. Lets have the project described in Table 8.1 and its AOA model representation (Picture 8.3). Table 8.1 summarize the forward pass procedure (earliest starts and earliest finishes of all activities are calculated).

First set E0 =0 (Event 0 or Node 0 earliest realization) because dummy activities have no predecessors, it starts at Time 0. If Activity D1 starts at 0 and takes 0 days, its earliest finish time is 0 days. The only 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. The only 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. Activity D1 D2 A B C D E Earliest Start 0 0 0 0 90 92 92 Earliest Finish 0 0 3 90 92 122 132

F G H

122 212 242

212 242 252

Table 8.1 Summary Results for CPM Forward Pass Procedure Weve completed the forward pass calculations. The length time needed for project completion is 252 days. Next we do the backward pass calculation (latest starts and latest finishes of all activities are calculated). The latest start time is the latest an activity can start, and the latest finish time is the latest it can finish without delaying the project 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 the network.

First set L8 =252 (Event 8 or Node 8 latest realization) the latest time that Activity H can finish. The latest start time for Activity H is its latest finish time minus its duration (25210=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 L 7, 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 E Earliest Start of E, or Latest Finish of E Earliest Finish of E it is 202-92=110. Remember, an activitys finish and start times differ by the activity time, so both formulas 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 events 0-2-3-4-5-6-7-8.

Activity Earliest Start D1 D2 A B C D E F G H 0 0 0 0 90 92 92 122 212 242

Latest Earliest Latest Total Free Indep. Dep. Start Finish Finish Slack Slack Slack Slack 87 0 87 0 90 92 192 122 212 242 0 0 3 90 92 122 132 212 242 252 87 0 90 90 92 122 232 212 242 242 87 0 87 0 0 0 110 0 0 0 0 0 87 0 0 0 110 0 0 0 0 0 0 0 0 0 110 0 0 0 87 0 0 0 0 0 110 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 project beginning) and the earliest finish time is after 3 days. The latest that Activity A can finish without delaying the project is after 90 days - it can be 87 days delayed (total slack is 87). The latest that Activity A can finish without delaying Activity C is 90 days too - it can be 87 days delayed (free slack is 87). It cannot be delayed considering the latest realization of the Node 1 (both independent and dependent slacks are 0). Detail calculation of all slacks for noncritical tasks is available here. There are many ways how to represent information in project management models graphically. 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 displays task information about the project using bar graphics. This Gantt Chart graphically displays task durations, early start dates, early finish dates and total slacks on a timescale (non critical tasks in blue, critical tasks in red and total slacks in violet). The relative position of the Gantt bars shows the sequence in which the project tasks are scheduled to occur.

Picture 8.1 Gantt 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 they are not known (or controllable) with certainty. Suppose activity times are treated as random variables. Then we need to obtain information concerning the probability density 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 estimates are 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 tij is 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:

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 the completion is 3.5. This occurs because the pessimistic time estimate is quite large. The formula for expected time is used because this formula approximates the mean of a beta distribution whose end points are aij and bij and whose mode is mij. It is not possible to justify the use of the beta distribution in a rigorous sense, but the distribution has 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 (aij and 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 the expected time to complete an activity. In practice, it is not obvious that the multipleestimate approach leads to a better expected value than the singleestimate approach; however, the multiple-estimate approach allows us to consider the variability of the time for completion of an activity. Equation (2) is used to estimate the standard deviation of the time required to complete an activity, based on the optimistic and pessimistic time estimates:

(2) where ij represents 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 for each activity on a path to obtain an estimate of the standard deviation of the duration of the path. For instance, suppose the multiple time estimates shown in Table 8.1 were made for the Picture 8.3 project in our example but with different duration times. Task aij bij mij D1 D2 A B C 0 0 0 0 0 0 tij 0 0 ij 0 0
ij 2

0 0

2,8 3,5

3 3,3 0,116667 0,013611 91 6,5 0,25 42,25 0,0625

60 99 90 1,4 2,9

2 2,5

D E F G H

28 35 30

33 1,166667 1,361111

110 180 130 135 11,66667 136,1111 77 100 90 94,5 3,833333 14,69444 20 40 30 35 3,333333 11,11111

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 days 14,5 days longer then the original critical path (see The procedure for finding critical path or CPM algebraic representation). Path D1-B-C-D-F-G-H has an expected length of 178,8 days, path D1-A-C-E-H has an expected length of 58,3 days and path D2-A-CE-H has an expected length of 146 days. Table 8.1 contains the expected time for each activity 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 independent random variables, then the variance of the time to complete the critical path may be computed as the sum of the variances of the activities on the critical path. (The variance of a sum of random variables equals the sum of the variances of each random variable if the variables are independent.) If we add the variances along the critical path, we obtain:

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 of the total time for the path can be assumed to be normal. (The sum of n independent random variables with finite mean and variance tends toward normality by the central limit theorem as n tends toward infinity.) Our example only has seven activities, so the assumption of normality would not be strictly appropriate; but for illustration, our results may be interpreted as follows: The length of time it takes to complete path D2-B-C-D- FG-H is a normally distributed random variable with a mean of 266,5 days and a standard deviation of 8,34 days. Given this information, it is possible to use tables of the cumulative normal distribution or an NORMSDIST Excel formula to make probability statements 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:

where F is a cumulative normal distribution function X is 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 critical path. Apart from the difficulties involved in assuming that all activity times are independent and beta distributed, it is not necessarily true that the longest expected path (i.e., the critical path) will turn out to be the longest actual path. In our example, the noncritical path D2-B-C-E-H has an expected length of 239 days. The variance of that path and its standard deviation are:

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

(Given this information, it is possible to use tables of the cumulative normal distribution or an NORMSDIST Excel formula.) The critical path and path D2-B-C-E-H must both be completed within 270 days for the project to be completed within 270 days, since the project is not completed until all activities are completed. The probability that both paths (critical and D2-B-C-E-H) are completed within 270 days is: (0,6626).(0,9898) = 0,65584. If we had considered only the critical path, the probability of not completing the project in 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 in 270 days is higher: 1 0,65584 = 0,34416.

Another way of describing the situation is to say that if the project takes more than 270 days, critical path has a larger chance of causing the delay than path D2-B-C-E-H does. We could do the examination of all paths in this project. For instance path D1-A-C-D-FG-H may also turn out to be the most constraining path but with respect to the short duration 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 this is beyond the methods of calculation presented in this chapter, but for our small project the values would be very similar. The problems we have encountered in a six-activity sample project are greatly magnified when a realistic project with hundreds of activities is considered. Thus, there is a serious danger in using the mean and variance of the length of the critical path to estimate 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 mean estimate of project completion time obtained by studying the critical path alone is too optimistic 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 simulate them. (For more information about simulation techniques see Chapter 10.) Any PERT network 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, and using each activity's calculated mean and standard deviation from Equations 1 and 2, generate a random value (a realization) for the time to complete each activity in the network. 2. Treat the generated times as actual times for each activity, and use the critical path algorithm to find both the "actual critical path" (ex post) and the actual project duration. 3. Repeat steps 1 and 2 above for some large number of trials, recording a histogram of project completion times and the percentage of time each activity was on the ex 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.

Picture 8.1 " Frequency Distribution for Project Duration " Although the information contained in this picture would be useful in deciding whether or not the risk of project lateness were tolerable, it is of no direct help in deciding how to crash activities so as to speed the project. For this purpose, the simulation can record the percentage of times each path was ex post critical. There are four paths in our example, but only two of them (D2-B-C-D-F-G-H and D2-B-C-E-H) are potentially critical. Both paths containing the activity A (D1-C-D-F-G-H, D1-B-C-E-H) could not be critical, 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 B lies on both path potentially critical and its percentage of criticality is 100 too. In Accordance WithPERT simulation detail results the percentage of criticality for activities D, 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 like Picture 8.1. If the project performance needed to be improved, study of a table in PERT simulation detail results would indicate the set of activities that, on the average, were causing delays various percentages of the time. Then, after some of those "critical activities" were crashed, the simulation could be repeated to see whether or not project performance 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 will understate the true expected project time. The probability distribution of the actual project time and the probability that each activity will be on the ex post critical path - can be obtained by simulation. Conditional on the project being late, the simulation can also show the percentage of time each activity was on the actual critical path.

6. Introduction to Nonlinear Programming 6.1 Nonlinearities in the model In Section 1, we discussed linear programming models. Linear programming has many applications. 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 programming models. One reason for this is that decision environments can have uncertain outcomes. If the uncertainty in a decision environment is important, the model must incorporate 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 conditions and/or objective function is nonlinear. An important example is the management of investment portfolios in finance, where the objective might be to minimise the risk for a given expected return. Risk is measured as the variance of the portfolio, and the variance is a square (nonlinear) measure. In marketing models, the effect on sales of different amounts spent on advertising is generally a nonlinear function. Hence, linear programming cannot be used for these problems.

Fortunately, there are generalised optimisation techniques that can be used to solve many of these types of problems. One approach is to use mathematical analysis or calculus. Using calculus, one can optimise a function by taking the derivative, setting it equal to zero, and then solving. If there are constraints, a technique called Lagrangian multipliers is used. This approach is limited to relatively small problems with rather simple functions. There are also a wide variety of procedures developed for specific nonlinear models. For example, quadratic programming is a technique for solving problems with linear constraints but a quadratic objective function. Another reason is that some constrained optimisation models violate the assumptions of a linear programming model. Two such frequent violations are:

introducing a nonlinear function into restricting conditions or/and objective function 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 to operating conditions is not linear. For example, let us consider the number of employees who begin at each starting time: you can not have 3.7 people start at midnight. All of the variables are continuous for a linear programming model, but a fractional variable value doesn't make sense in personnel scheduling. Simplex process guarantees no integer values for the solution vector. There is no a priori reason why any vertex of the polyhedron of feasible solutions should be a lattice point, i.e., have integer coordinates. Approximating the coordlinate values with integers does not necessarily yield a feasible vector, since the vertex yielding a solution may be nearest to a lattice point outside the region of feasible solutions; and the nearest feasible 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. The software of linear programming assumes that all of the functions are linear and will not accept any other input. The simplex algorithm does not solve nonlinear programming models. For the solution of nonlinear programmes special algorithms and software has to be used.

An integer linear programming model is a linear programming model in which some of the decision variables are restricted to integer values. Such model can be solved by means of simplex method. We can solve an integer nonlinear programming model by the simplex method and hope that the variables will have integer values in the optimal solution. 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 available than 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 General nonlinear programming model Quadratic programming nonlinear

Objective function nonlinear

Algorithms Methods gradient methods (Excel Solver)

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 which are good enough for the practice. 6.2 General nonlinear programming models 6.2.1 Definition of the problem

The nonlinear programming problem is concerned with the maximisation or minimisation of 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 be convex (concave) if problem involves the minimisation (maximisation) of the objective function f. These restrictions on f and gi together lead to an important property of the problem: Any local optimum is a global optimum of the objective function in the feasible region.

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 x2 with the value of Q(x2). Ordinary differential calculus methods for finding the extremum of an unconstrained function, when applied to f, may yield values which are in the region, in which case, one has a solution of the problem. One usually begins by testing for an optimum in the region. This process itself may be consuming and costly. On the other hand if the optimum lies on the boundary, then the problem is no longer simple. If it were known which of the constraints determined the optimum, then one could apply the Lagrangemultiplier method using these "active" constraints after replacing the inequality sign by equality, 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. The purpose of all efficient methods is to use steps which lead to active constraints and, in fact, to the optimum. 6.2.2 Examples Examples of nonlinear programming problems abound in the literature. The following are among the better-known problems:

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

where pj is the price of the j-th commodity , and xj is 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 commodity depends on the quantity produced. In this case the objective is to find the xj which 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 of linear inequalities with nonnegative coefficients. Another interesting example is to find a best linear approximation to a set of observed data (xj, yj), j = 1, 2, , n, subject to constraints on the coefficients of the approximating linear 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.

Yet another example is that of portfolio selection, in which an investor wishes to allocate a given sum of money C to different securities. He must maximise the expected return for a fixed variance or minimise the variance for a fixed return. If xj, j = 1, 2, , n is the amount 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 a quadratic constraint, and in the second because this constraint is the function to be minimised. Problems in which profit is described by a nonlinear function of the variables to be maximised 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 in general Theorem for nonlinear programme - Kuhn-Tucker theorem. These conditions occasionally enable one to -obtain this optimum. However, they provide basic ideas used in developing iterative algorithms. This characterisation is obtained through concepts involving gradients and saddle points and through differential equations. The

greater the variety of characterisation theorems, the greater is the possibility of constructing ingenious algorithms, perhaps by borrowing ideas from related fields. We shall be using the Lagrangian function F(x,u) for a maximisation problem. This function 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 x is 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 xo of G(x) < 0, with x > 0, is that there exist u 0 such that

The theorem obviously also holds if x is 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 x and u satisfy

The foregoing two sets of conditions, together with the two conditions analogous to series 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 to constraints to that of minimising a single function, i.e., the lagrangian, with respect to u after taking its maximum with respect to x. Thus one is able to apply iterative techniques 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 iterative procedure that converges to the optimum may be employed in solving the nonlinear problem. We select an arbitrary point in the feasible region as an initial point; if it does not yield the optimum, we obviously would like to shift to another point at which the objective function has an improved value. Often the gradient determines the direction of our movement. In a maximisation problem we move along the gradient; otherwise we move in a direction opposite to that of the gradient. The actual distance to be traversed may 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 an infinite number of steps. Several of the algorithms discussed were actually employ variations 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 involves a routine check by differentiation to determine whether the maximum lies in the interior of the feasible region R. If not, we know it lies on the boundary.

We start with any point x in the feasible region and calculate - f(x). If x is an interior point, we move along the vector - f(xo) a distance equal to its length and arrive at a point whose coordinates are

x1 = xo -

f(xo).

If x1 belongs to the region (i.e., satisfies the constraints) and f(x1) < f (x), then x1 is our new point. Otherwise we obtain a new point by applying the gradient method on the segment (x, x1). If, in either ctase, x1 does not belong to the region, we take those constraints which are not satisfied by x1 and 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 the constraints and, hence, would belong to R. We denote this point by x1. If f (x1) < f(xo), then x1 is the new starting point; otherwise we apply the gradient criterion to pick a point on xo, x1 at which the value of f would be smaller than at xo. If xo lies on the boundary of R and is the required optimum, the gradients of the objective 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 to all the surfaces gi(x) = 0 at xo. 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. The magnitude 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

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 of these 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 the tangent planes to the remaining surfaces. Once this is accomplished, the procedura is the 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 is desired to minimise f subject to gi 0, i = 1, 2.

Since f is convex, a local minimum is a global one.

Let xo = (1,1); then -

f (x) = (4, -1). The farthest we can go along the direction

determined by -f (x) is x1 = (2,3/4), which is on the boundary of both constraints; i.e., the line pierces the intersection of both constraints at this point. The reader should show that the projection of (2, -1/2) on x - 2 = 0 is (0; -1/2). This furnishes the direction. Using the gradient method, we substitute in f the quantity x1 + multiplied by the projection of f(x1), that is, we put

x = 2+ and minimise with respect to for 0

.0 y = 3/4 -

/2

1. We obtain

= 1/2. Thus our next point

is (2,1/2) (obtained by putting = 1/2 in x and y), which gives the required minimum by Kuhn-Tucker theorem. The minimum value of f is 1. 6.2.8 Best known algorithms Following list presents a collection of algorithms for solving nonlinear programmes bearing the names of their respective inventors.

Frank and Wolfes method. Wolfe methods (the simplex method of quadratic programming). Gradient-projection method of Rosen. Carrolls Technique with Development by Fiacco and McCormick. Zoutendijks Method of Feasible Directions.

In practice is used "Solver" in MS-Office packet which yields good enough approximate solutions. 6.2.9 Piecewise programming models The nonlinear programming models can be reformulated to those with piecewise linear objective functions. These functions are nonlinear. However, they are linear over "pieces." A piecewise linear function consists of straight line segments that are connected at the end points. The breakpoints are the variable values where the slope of the line segments changes. The slope of the objective function is called the objective function rate.

Figure 3 On Figure 3 are nonlinear curves replaced by piecewise linear lines. It enables use some modification of simplex method to obtain solution.

6.3 Quadratic programming models Frank and Wolfe consider the problem of maximising a concave quadratic function f = ax - xAx subject to linear constraints Bx b and x 0, where A = (aij) is an n x n positive-semidefinite symmetric matrix, B = (bi;) is an m x n matrix, b = (b1, , bm), x = (x1, , xn) and a = (aij).

The algorithm is based on the Kuhn-Tucker Theorem and uses the simplex method of linear programming. Geometrically, the Kuhn-Tucker Theorem implies that f has a local extremum at x if and only if the normal hyperplane to the gradient vector f at x is a locally supporting hyperplane of the constraint set. A hyperplane touching the constraint set at a point x satisfies the above condition if and only if x has the maximum projection along the outward normal to the hyperplane. Since f has been taken to be a quadratic function, the expression for an extremum on the boundary can be written as a linear function of x, and the simplex method can be used to arrive at the optimum. Wolfe furnishes a variation of the above technique. Step 1: Begin with the set of relations Bx + w = b Ax - v + Bu + z1 - z2 = -px {v, u, z1, z2 } 0 where z1, z2 are two successive iterations, and w is vector of penalty variables.

Step 2: Use the simplex method to minimise to zero, keeping v and u nonnegative. Discard w and the unused components of z1 and z2. Let the remaining n components be denoted by z, and their coeffcients by E. A solution of the system is Ax = b Ax - v + Bu + Ez = - up {x, v, z } 0 Step 3: Simplex method is used to minimise objective function

subject to folllowing side conditions: For k = 1, . . . , m, if xk is in the basis, we do not admit vk; if vk is in the basis, we do not admit xk. It will take at most

iterations to reach the solution. The x component of the terminal basis solution is a solution of the quadratic problem. Wolfes method is available in software LINDO, QSB. Also Solver (part of MS Excel(R)) can be used to obtain solution with preassigned accuracy. 6.3.1 Example Brewery case study. 6.4 Integer programming models 6.4.1 Introduction to integer programming The category of mathematical programming includes a wide variety of techniques used to solve optimisation problems. The decision maker is trying to maximise or minimise some objective, subject to a set of constraints. The most widely used technique in this category, of course, is simple linear programming. This has been discussed in most applications Integer programming allows some or all of the decision variables to be integer valued while keeping linear relationships in the objective function and constraints. The solution integer programmes can be successful using the Excel-Solver package. 6.4.2 Example Many business problems could be suitably formulated and solved by linear programming, except for one drawback: they require solutions that are integers. For example, a variable xj in a linear programming model may refer to whether or not a new plant is built. If xj = 1, the plant is to be built; xj = 0 means no plant; and a value of xj anywhere in between (xj = 0,3 for instance) makes no sense. There is no guarantee that the standard solution procedures for linear programming will give an integer solution. 6.4.3 All and mixed-integer programming To deal with integer programming models, a set of techniques has been developed. 1. Some problems may require that all variables in the problem be integers. In this case we call the problem the all-integer problem. A special case of the all-integer solution occurs when all the variables can take on values of only 0 or 1. 2. The most general case of integer programming is that in which some variables are required to be integers, but others can take on any values. This is called the mixedinteger programming problem. An important exceptions to this are the solutions of network problems by LP, transportation problem, assignment problem which do give integer solutions. 6.4.4 Principles of formulating integer programmes

In general, integer programming problems are formulated in much the same way as the standard linear programming problems discussed in earlier sections, with the added proviso that one or more variables must assume integer values. That is, we establish a linear objective function that is maximised or minimised subject to linear constraints. However, there are some uses of zero/one variables that are unique to integer programming. A zero/one or binary variable is one that can take on only values of 0 or 1. The value 1 can be used to indicate the presence of something (a factory, for example); 0 indicates its absence. The use of binary variables is illustrated in example. 6.4.5 Example of the Fixed-Charge Problem Suppose a given product, if it is produced, contributes $50 per unit to profit. How-ever, a one-time expense of $1000 is incurred in setting up the machinery for a production run. This cost is zero if no units are produced. Let x be the number of units produced. Then we could formulate the problem so that:

However, Contribution is not a linear function of X in this formulation.

To rewrite the formulation in a linear form, we introduce a new variable y, which takes on only the integer values of 0 or 1. Then we maximise (50x - 1000y) subject to whatever other constraints we have plus the following two: y < 1 and y is an integer x My

where M is penalty cost (some very large number). Note that when y = 0, the second constraint forces x to be 0 and the contribution (50x 1000 is 0 also; when y = 1, there is no practical limit on x; moreover, the fixed-charge amount $1000 is deducted from the profit. Hence, the use of the zero/one or binary integer variable y allows us to formulate this type of problem with linear constraints.

The fixed-charge type of problem is common in business. There is an investment cost to build a new plant before any production can occur. There are usually fixed costs that have to be incurred if a second shift is undertaken or a new warehouse is opened. The

problem is basically linear but also similar nonlinear model of the Fixed-Charge problem can be formulated. 6.4.6 Formulation of integer conditions in spreadsheet Another approach to formulating this fixed-charge cost might be to use a spread-sheet "IF" function. Suppose, for example, the number of units produced (the x value) were in cell D2 on the spreadsheet. Then the total cost might be written as: =IF(D2>0, 50*D2-1000, 0). While this is a logically correct formulation, it also is not a linear function, and would not be appropriate for a linear model. Batch Size Problem, Either-Or Constraints

6.4.7 Solution of Integer programming Problems Ordinary linear programming problems are solved by the simplex method, which very efficiently produces optimal solutions even for large problems. However, these solutions are not necessarily integer. Sometimes, of course, a noninteger LP solution can be rounded off appropriately to give an integer solution. If the rounded solution is feasible and has a profit close to that obtained for the noninteger problem, the rounding procedure is likely to be adequate. However, for many important problems, this procedure will not work. In particular, if the problem contains zero/one variables of the type illustrated in the formulations earlier in this section, rounding will generally give infeasible solutions. Hence, a solution procedure designed for integer problems is required. When a problem is required to have an integer solution, it means that there are a finite or counting many numbers of possible solution points. 1. One approach is to use complete enumeration method and evaluate every possible solution to find the optimum. If there are only a few integer variables, enumeration may be feasible and an efficient procedure. However, for most realistic problems, the number of possible solutions is very large and complete enumeration is not computationally realistic. 2. Branch and bound methods. Complete enumeration might not be necessary if we could find ways of eliminating whole groups of solutions from consideration. The branch and bound technique is a method for doing this. Basically, the potential solutions are organised in a tree or hierarchy. A method is used to find a bound for a subset of these solutions. A bound is an upper limit (in the case of profit maximising) or lower limit (for cost minimisation). If a feasible solution can be found that is better than the bound for the subset, the entire subset can be eliminated. The process continues until the optimum is found, the solution that is better than the bounds on all the subsets.

3. Another technique is called the cutting-plane method. It is a variant of the simplex method, and in fact starts with the simplex solution to the linear programming problem, ignoring the integer requirements. Then new constraints (cutting planes, or simply cuts) are added to the problem that make infeasible the previous noninteger optimal solution but do not exclude any feasible integer solutions. A new LP solution is obtained and the process repeated (i.e., new cuts added) until an integer solution is found. This method is less widely used than the branch and bound method. 6.4.8 Using Solver for Integer Programming Problems Solver is a package incorporated in the Excel and Quattro spreadsheets. Its use in solving ordinary linear programming problems has been illustrated in earlier sections. Solver also has the ability to solve integer programming problems. One simply has to identify which variables are to be integer valued. The use of Solver is illustrated for the factory size and location problem formulated earlier.

After start up the Solver a Solver Parameters Dialogue Box appears:

1) Target Cell (Objective) 2) Objective: minimise/maximise 3) Changing cells (decision variables) 4) Constraints Constraints Constraints = Check linear model in options dialogue box !

1) Denote cell in which is expected optimum located in the spreadsheet (e.g. value "z"). 2) Type minimise or maximise 3) Denote cells (columns) in which coefficients at decision variables are located. 4) Denote cells (rows, columns) in which corresponding constraints are located.

The Use of Solver is illustrated by example Optimal Factory Size and Allocation. 6.4.9 Problems with Solver Because it uses the branch and bound procedure that involves solving a sequence of linear programming problems, using Solver for integer problems takes much longer than it does for ordinary LP problems. Also, the Solver Reports are not of value as they are in

ordinary LP. There is no Sensitivity Report, and the Answer Report merely gives the same information as displayed on the spreadsheet. While nonlinear programming methods are powerful solution procedures, the user should be aware of some limitations. The most important is that the procedure may produce a local optimumrather than the global optimum. There is no guarantee in general nonlinear programming that the highest peak (global optimum) will be found. This is an important concern. One approach is to solve the problem several times, each time starting from a very different initial solution. This will increase the chance that the global optimum will be found. A second problem that is sometimes encountered is that no solution may be found. This can occur because of the way the search process works, the process may take a step that goes over a cliff and cannot recover). In spreadsheet models such as Solver, a trial solution may cause trouble with some of the functions or equations in the model-trying to divide by zero or trying to take the logarithm of a negative number. Such problems will cause the solution process to stop without reaching an optimum. Finally, scaling may cause a problem in model solution. All computer codes compute with a certain degree of accuracy. If a model has coefficients that vary greatly in magnitude (e.g., one number being 0,00000023 and another 123,345,210), computational difficulties may occur. This can be handled by rescaling the values: convert to millions or billions, for example, for one or several variables. 6.4.10 Summary Models that contain nonlinear objectives or constraints (or both) may be solved by general optimisation methods. These usually involve a search process generating a sequence of trial solutions. Some newer methods create successive "generations" of trial solutions. Computer programs are widely available for solving these problems, including ones for personal computers. Some caution in the use of general optimisation methods is necessary.

Solved Example Transportation Problem


Homework Help Related Questions Comments


EXAMPLE FOR SOLUTION OF TRANSPORTATION PROBLEM

An organization has four destinations and three sources for supply of goods. The transportation cost per unit is given below. The entire availability is 700 units which exceeds the cumulative demand of 600 units. Decide the optimal transportation scheme for this case.

Solution

Step 1:

Check for balance of supply and demand

S Supply = 250 + 200 + 250 = 700 units

S Demand = 100 + 150 + 250 + 100 = 600 units

Decision Rule

(i)

If S Supply = S Demand

then go to next step.

(ii)

Else; if S Supply > S Demand

then, add a dummy destination with zero transportation cost.

(iii)

Or else; if S supply < S Demand

then, add a dummy source with zero transportation cost.

Since, in this problem

S supply > S Demand

Hence; add a dummy destination (say D5) with zero transportation cost and balance demand which is difference in supply and demand (= 100 units).

The initial transportation matrix is now formulated with transportation cost in the small box of each route. Note that each cell of the transportation matrix represents a potential route.

Introducing dummy column for balancing the supply and demand

Step 2:

(i)

Decide the nature of problem : Minimization of transportation-cost

(ii)

Make initial assignment

Initial assignment may be done by using any of the following approaches :

(i)

Least-cost method

(ii)

North-West corner method

(iii)

Vogel's approximation method

We would demonstrate all the three methods. (i) Initial Solution by Least Cost method Select the lowest transportation (or shipping) cost cell (or route) in the initial matrix. For example: it is route S1D5, S2D5 and S3D5 in our problem with zero shipping cost. Allocate the minimum of remaining balance of supply (in last column) and demand (in last row). Let us select S1D5 route. One can also select other route (S2D5 or S3D5) in case of tie. For S1D5, available supply is 250 and available demand is 100 units. The lower is 100 units. Hence, allocate 100 units-through this route (i.e, S1D5).

With this allocation, entire demand of route S 1D5 is consumed but supply of corresponding source, S1, is still (250100) or 150 units left. This is marked in last column of supply. The entire demand of destination, D 5, is consumed. We get the following matrix (Fig. 12.6) by crossing out the consumed destination (D5):

Now, we leave the consumed routes (i.e., column D5) and work for allocation of other routes.

Next, least cost route is S1D1, with 13 per unit of shipping cost. For this route, the demand is 100 units and remaining supply is 150 units. We allocate minimum of the two, i.e., 100 units in this route. With this destination, D1 is consumed but source S1 is still left with (150-100) = 50 units of supply. So, now leave the destination D 1and we get the following matrix.

With 100 units allocation in route S1D5

Assignment for destination D1 and D5 consumed

Now, we work on remaining matrix, which excludes first column (D 1) and last column (D5). Next assignment is due in the least cost route, which is route S2D4. For this route, we can allocate 100 units which is lesser of the corresponding demand (100 units) and (200 units). By this allocation in route S 2D4, the demand of destination D4is consumed. So, this column is now crossed out.

Assignment with destination D1, D4 and D5 consumed

Now, we work on the remaining matrix which excludes, column, D 1, D4 and D5. Next assignment is due in the least cost route of the remaining routes. Note that we have two potential routes: S 1D2 and S2D3. Both have 16 units of transportation cost. In case of any tie (such as this), we select any of the routes. Let us select route, S1D2, and

allocate 50 units (minimum of demand of 150 and supply of remaining 50 units). With this, all supply of source S 1 is consumed. Therefore, cross out row of S1. We get the following matrix:

Destination D1, D4 and D5 source S1 are consumed

Now, remaining allocation is done in route S2D3 (as 100 units). With this source, S2 is consumed. Next allocation of 100 units is done in route S3D2 and 150 units in route S3D3. Final initial assignment is as follows:

Total cost in this assignment is (13 100 + 16 50 + 100 0 + 16 100 + 15 100 + 17 150) or Rs. 9450.

Initial assignment by least cost method

Step 3:

Count the number of filled (or allocated) routes.

Decision rule

(i)

If filled route = (m + n 1) then go for optimality check (i.e. step 5).

(ii)

If filled route < (m + n 1) then the solution is degenerate. Hence, remove degeneracy and go to step 4.

Here, m = number of destinations, including dummy column, if any

n = number of source, including dummy, row, if any

For our problem (m + n- l) = 5 + 3-1 = 7.

The number of filled route is equal to 7. Hence, problem is not degenerate. Therefore, proceed to step 5.

Initial Assignment by North-West Corner Method (an alternative to least cost method)

This approach is also for making initial assignment, as we have done in the least cost method. Therefore, this approach should not be applied if initial assignment has already been made by any other method. In the North-West Corner (NWC) method, we start with the top-left (corner-most) route, which is S:DrIrrespective of cost, allocation is made in this route for the minimum of supply or demand. In our case, demand for this route is 100 and supply is 250. Therefore, allocate 100 units in this route. With this, column corresponding to D1 is consumed.

Now, work on the remaining matrix, which excludes column D r Again, select the top-left route. Now, it is cell S1D2. Allocate in the same way. Thus, 150 units are allocated in this route. Note that, with this, both D 2 and S, are consumed.

Remaining matrix excludes S1, D1 and D2. Hence, allocation in the top-left cell is due in route S2D3. Here, 200 units may be allocated and S2 is now consumed.

Remaining allocations are done in S2D3, S3D4 and S3D5 in sequential order. We get the initial solution by north-west corner method as follows (Fig. 12.11):

Initial assignment by North-West corner method

For this assignment, the total cost is (13 100 + 16 150 + 16 100 + 0 100) or Rs. 9350.

Step 3: Check for degeneracy

(m + n 1) = 5 + 3 1 = 7

Number of filled cells = 6, which is one less than (m + n 1). Hence, go to step 4 for removing degeneracy.

Step 4: In case of degeneracy, allocate a very-very small quality, (which is zero for all calculation purposes), in the least cost of un-filled cells. In the above figures of North-West corner method allocation, the least cost un-filled cells are S1D5 and S2D5. Let us select S1D5 and allocate in this. We get the following allocation after removing degeneracy.

Initial assignment by North-West corner method after removing degeneracy

Initial Assignment by Vogels Approximation Method (VAM)

This is the third alternative method for doing initial assignment of a transportation problem.

In this method, we calculate the difference between the two least-cost routes for each row and column. The difference is called as penalty cost for not using the least-cost route.

First calculation of Penalty cost in VAM

Highest of all calculated penalty costs is for S3 and (S2). Therefore, allocation is to made in row of source S 3. The route (or cell), which one must select, should be the lowest cost of this row. This route S 3D5. Hence, first allocation is as follows.

First calculation in Vogels method

Now, with the first allocation, destination D5 is consumed. We exclude this column and work on the remaining matrix for calculating the penalty cost. We get the following matrix.

Now for this, source S1 has highest penalty cost. For this row, the least cost route is S 1D1. Hence, next assignment is due in this route:

Second calculation of Penalty cost in VAM

Second allocation in Vogels method

After second allocation, since destination D 1 is consumed, we leave this column and proceed for calculation of next penalty cost. Allocation is done in route S1D2. Since there is tie between all routes, we break the tie by arbitrarily selecting any route (S1D2 in this case.)

Third calculation of Penalty cost

Third allocation in Vogels method

Fourth calculation of Penalty cost in VAM

Fourth allocation in Vogels method

With the fourth allocation, column D4 is consumed. In the only left column D3, the allocations of 100 units and 150 units are done in route S2D3 and S4D3 respectively. Thus, we get the following allocations in the Vogels approximation method.

Final allocation through Vogels method

The initial cost for this allocation is (13 100 + 16 150 + 16 100 + 15 100 + 17 150 + 0 100) or equal to Rs. 9350:

Step 3:

Check for degeneracy

(m + n 1) = 7

Number of filled cell = 6, which is one less than (m + n + 1). Hence, go to step 4 for removing the degeneracy.

Step 4:

We allocate in the least-cost un-filled cell. This cell is route S1D5 or S2D5. Let us select route S1D5.

Thus, we get following matrix after removing degeneracy.

Final allocation after removing degeneracy in Vogels method

Optimization of Initial Assignment

The initial feasible assignment is done by using least-cost method or North-West corner method or Vogel's approximation method. However, none of these methods guarantees optimal solution. Hence, next step is to check the optimality of the initial solution.

Step 5: Check the optimality of the initial solution

For this, we have to calculate the opportunity cost of un-occupied routes.

First, we start with any row (or column). Let us select row 1, i.e., source S 1; For this row, let us define row value, u1 = 0. Now consider all filled routes of this row. For these routes, calculate column values v. using following equation:

u1 + v1 = Cij (For any filled route)

where

u1 = row value

vj = column value

Cij = unit cost of assigned route

Once first set of column values (vj is known, locate other routes of filled cells in these columns. Calculate next of ui(or vj values using above equation. In this way, for all rows and columns, u i and vj values are determined for a nondegenerate initial solution.

Step 6:

Check the optimality

Calculate the opportunity of non-allocated orunfilled routes. For this, use the following equation:

Opportunity unassigned route = ui + vj Cij

where

ui = row value

vj = column value

Cij = unit cost of unassigned route

If the opportunity cost is negative for all unassigned routes, the initial solution is optimal. If in case any of the opportunity costs is positive, then go to next step.

Step 7:

Make a loop of horizontal and vertical lines which joins some filled routes with the unfilled route,

which has a positive opportunity cost. Note that all the corner points of the loop are either filled cells or positive opportunity cost un-assigned cells.

Now, transfer the minimal of all allocations at the filled cells to the positive opportunity cost cell. o r this, successive corner points from unfilled cell are subtracted with this value. Corresponding addition is done at alternate cells. In this way, the row and column addition of demand and supply is maintained. We show the algorithm with our previous problem.

Let us consider the initial allocation of least-cost method (Fig. 12.10) :

For this, we start with row, S1and take u1 = 0. Now S1DpS1D2,and S1D5are filled cells. Hence, for filled cells; (vj = Cij ui).

v1 = 13 0 = 13

v2 = 16 0 = 16

v5 = 0 0 = 0

Calculation for ui and vj in least cost initial assignment

Now, cell S3D2 is taken, as this has a vj value. For this cell u3 = 17 16 = 1

Now, cell S3D3 is selected, as this has a ui value. For this cell v3 = 17 1 = 16

Now, cell S2D3 is selected, as it has a vj value. For this cell u2 = 16 16 = 0

Now, cell S2D4 is selected, as it has a ui value. For this cell v4 = 15 0 = 0

Thus, all ui and vj are known.

Step 6: Calculate opportunity cost of un-assigned routes.

Unassigned route S1D3 S1D4 S2D1 S2D2 S2D5 S3D1 S3D4 S3D5

Opportunity cost (ui + vj Cij) 0 + 16 19 = 3 0 + 15 17 = 2 0 + 13 17 = 4 0 + 16 19 = 3 0+00=0 1 + 13 15 = 2 1 + 15 16 = 0 1 + 0 0 = +1

Since route S3D5 has positive opportunity cost, the solution is non-optimal; hence, we go to next step and make a loop as follows.

Closed loop for cell S3D5

The revised allocation involves 100 units transfer from cells S 1D5 and S3D2 to cells S3D5 and S1D2.

Thus, revised allocation is as follows:

Revised allocation in least-cost assignment

Since above solution is degenerate now, we allocate to the least-cost un-filled cell S1D5. Fresh calculation of uiand vj is also done in the similar way as explained in Step 5.

For this assignment, the opportunity cost of unassigned cells is as follows.

Now, since un-allocated routes have negative (or zero) opportunity cost, the present assignment is the optimal one. Thus, optimal allocation of route is given in Figure.

Note that total cost is less than the initial assignment cost of least-cost method (= Rs. 9450).

Similarly, optimality of North-West corner method solution is done.

Unassigned route S1D3 S1D4 S2D1 S2D2 S2D5 S3D1 S3D2 S3D4

Opportunity cost (ui + vj Cij) 0 + 17 19 = 2 0 + 16 17 = 1 1 + 13 17 = 5 1 + 16 19 = 4 1 + 0 0 = 1 0 + 13 15 = 0 0 + 16 17 = 1 0 + 16 16 = 0

Opportunity cost

Route S1D1 S1D2 S2D3 S2D4 S3D3 S3D5 Total cost = Rs.9350

Unit 100 150 100 100 150 100

Cost in this route 13 100 = 1300 16 150 = 2400 16 100 = 1600 15 100 = 1500 17 150 = 2550 0 100 = 0

Optimal allocation in different routes

Calculation of ui and vj for N-W corner methods initial solutions

Opportunity cost of above assignment is as follows:

Since all opportunity costs are negative or zero, the initial assignment is optimal one with total cost of Rs. 9350.

The optimal assignment of routes is 100 units is S1D1, 150 units in S1D2, 200 units in S2D3, 50 units in S3D3, 100 units in S3D4.

Similarly, the optimality of Vogels methods initial solution is done.

Opportunity cost of above N-W corner assignment is as follows

Unassigned route S1D3 S1D4 S2D1 S2D2 S2D4 S2D5 S3D1 S3D2

Opportunity cost (ui + vj Cij) 0 + 17 19 = 2 0 + 16 17 = 1 1 + 13 17 = 5 1 + 16 19 = 4 1 + 16 15 = 0 1 + 0 0 = 1 0 + 13 15 = 2 0 + 16 17 = 1

Calculation of ui and vj for Vogel methods initial solutions

Opportunity cost of above assignment is as follows:

Unassigned route S1D3 S1D4 S2D1 S2D2 S2D5 S3D1 S3D2 S3D4

Opportunity cost (ui + vj Cij) 0 + 17 19 = 2 0 + 16 17 = 1 1 + 13 17 = 5 1 + 16 19 = 4 1 + 0 0 = 1 0 + 13 15 = 2 0 + 16 17 = 1 0 + 16 16 = 0

Since all opportunity costs are negative or zero, the initial assignment of Vogels solution is optimal with total cost of Rs. 9350.

The optimal assignment of routes is 100 units in S1D2, 100 units in S2D3, 100 units in S2D4, and 150 units in S3D3. Note that this solution is different from North-West corner solution but total cost is same and minimum.

The transportation problem solution approach

Email Based Homework Assignment Help in Solved Example for Transportation Problem

Transtutors is the best place to get answers to all your doubts regarding the standard representation of transport problem, methods to solve TP like least cost, vogel and northwest corner methods with examples. You can submit your school, college or university level homework or assignment to us and we will make sure that you get the answers you need which are timely and also cost effective. Our tutors are available round the clock to help you out in any way with industrial management.

Live Online Tutor Help for Solved Example for Transportation Problem

Transtutors has a vast panel of experienced industrial management tutors who specialize in the methods to solve transportation problems and can explain the different concepts to you effectively. You can also interact directly with our industrial management tutors for a one to one session and get answers to all your problems in your school, college or university level industrial management. Our tutors will make sure that you achieve the highest grades for your industrial management assignments. We will make sure that you get the best help possible for exams such as the AP, AS, A level, GCSE, IGCSE, IB, Round Square etc.

Potrebbero piacerti anche