JOINT PRICING AND PRODUCTION PLANNING FOR FIXED PRICED MULTIPLE PRODUCTS WITH BACKORDERS. Lou Caccetta and Elham Mardaneh

Similar documents
7.1 INTRODUCTION. In this era of extreme competition, each subsystem in different

CHAPTER-3 MULTI-OBJECTIVE SUPPLY CHAIN NETWORK PROBLEM

Optimization Methods in Management Science

Coordinating Inventory Control and Pricing Strategies with Random Demand and Fixed Ordering Cost: The Finite Horizon Case

Operations Research Letters. Joint pricing and inventory management with deterministic demand and costly price adjustment

On the Approximate Linear Programming Approach for Network Revenue Management Problems

Coordinated Replenishments at a Single Stocking Point

The network maintenance problem

arxiv: v3 [math.oc] 11 Dec 2018

Recoverable Robustness in Scheduling Problems

The Single and Multi-Item Transshipment Problem with Fixed Transshipment Costs

Bilinear Programming: Applications in the Supply Chain Management

2001, Dennis Bricker Dept of Industrial Engineering The University of Iowa. DP: Producing 2 items page 1

Research Article A Partial Backlogging Inventory Model for Deteriorating Items with Fluctuating Selling Price and Purchasing Cost

A Multi-Item Inventory Control Model for Perishable Items with Two Shelves

MULTI-PERIOD MULTI-DIMENSIONAL KNAPSACK PROBLEM AND ITS APPLICATION TO AVAILABLE-TO-PROMISE

On service level measures in stochastic inventory control

Dual Interpretations and Duality Applications (continued)

An Uncertain Bilevel Newsboy Model with a Budget Constraint

A Hierarchy of Suboptimal Policies for the Multi-period, Multi-echelon, Robust Inventory Problem

Words to avoid in proposals

OPTIMIZATION. joint course with. Ottimizzazione Discreta and Complementi di R.O. Edoardo Amaldi. DEIB Politecnico di Milano

Optimisation. 3/10/2010 Tibor Illés Optimisation

Optimization Methods in Management Science

Assessing the Value of Dynamic Pricing in Network Revenue Management

A tractable consideration set structure for network revenue management

Optimal Control of an Inventory System with Joint Production and Pricing Decisions

We consider a nonlinear nonseparable functional approximation to the value function of a dynamic programming

2. Linear Programming Problem

A Computational Method for Multidimensional Continuous-choice. Dynamic Problems

Dynamic Pricing and Inventory Control: Robust vs. Stochastic Uncertainty Models A Computational Study

Separable Approximations for Joint Capacity Control and Overbooking Decisions in Network Revenue Management

Ordering Policies for Periodic-Review Inventory Systems with Quantity-Dependent Fixed Costs

A New Dynamic Programming Decomposition Method for the Network Revenue Management Problem with Customer Choice Behavior

Optimization Methods in Management Science

CHAPTER 11 Integer Programming, Goal Programming, and Nonlinear Programming

Constrained Assortment Optimization for the Nested Logit Model

A Primal-Dual Algorithm for Computing a Cost Allocation in the. Core of Economic Lot-Sizing Games

The Transportation Problem

IV. Violations of Linear Programming Assumptions

1 Bewley Economies with Aggregate Uncertainty

Point Process Control

56:171 Operations Research Final Exam December 12, 1994

MS-E2140. Lecture 1. (course book chapters )

Assessing the Value of Dynamic Pricing in Network Revenue Management

Allocating Resources, in the Future

No-Holdback Allocation Rules for Continuous-Time Assemble-to-Order Systems

Worst case analysis for a general class of on-line lot-sizing heuristics

Research Article An Optimization Model of the Single-Leg Air Cargo Space Control Based on Markov Decision Process

Research Article A Deterministic Inventory Model of Deteriorating Items with Two Rates of Production, Shortages, and Variable Production Cycle

(s, S) Optimality in Joint Inventory-Pricing Control: An Alternate Approach*

Deterministic Operations Research, ME 366Q and ORI 391 Chapter 2: Homework #2 Solutions

Designing the Distribution Network for an Integrated Supply Chain

Fuzzy Inventory Model for Imperfect Quality Items with Shortages

Optimality Results in Inventory-Pricing Control: An Alternate Approach

Real-Time Feasibility of Nonlinear Predictive Control for Semi-batch Reactors

56:270 Final Exam - May

Project Discussions: SNL/ADMM, MDP/Randomization, Quadratic Regularization, and Online Linear Programming

Decision Mathematics D2 Advanced/Advanced Subsidiary. Monday 1 June 2009 Morning Time: 1 hour 30 minutes

Deceptive Advertising with Rational Buyers

Approximate Dynamic Programming Methods for an Inventory Allocation Problem under Uncertainty

Technical Note: Capacity Expansion and Cost Efficiency Improvement in the Warehouse Problem. Abstract

Transportation Problem

EXTENSIONS TO THE ECONOMIC LOT SIZING PROBLEM

Industrial Engineering Prof. Inderdeep Singh Department of Mechanical & Industrial Engineering Indian Institute of Technology, Roorkee

Chapter 2 Analysis of Pull Postponement by EOQ-based Models

REVISED UPDATED PREPARED DIRECT SAFETY ENHANCEMENT COST ALLOCATION TESTIMONY OF GARY LENART SAN DIEGO GAS & ELECTRIC COMPANY AND

2. Assumptions and Notation

Buyer - Vendor incentive inventory model with fixed lifetime product with fixed and linear back orders

IBM Research Report. Stochasic Unit Committment Problem. Julio Goez Lehigh University. James Luedtke University of Wisconsin

AN EOQ MODEL FOR TWO-WAREHOUSE WITH DETERIORATING ITEMS, PERIODIC TIME DEPENDENT DEMAND AND SHORTAGES

Redistribution Mechanisms for Assignment of Heterogeneous Objects

Assortment Optimization under the Multinomial Logit Model with Nested Consideration Sets

the results from this paper are used in a decomposition scheme for the stochastic service provision problem. Keywords: distributed processing, telecom

Influence of product return lead-time on inventory control

Production planning of fish processed product under uncertainty

(s, S) Optimality in Joint Inventory-Pricing Control: An Alternate Approach

Inventory management with advance capacity information

Technical Note: Capacitated Assortment Optimization under the Multinomial Logit Model with Nested Consideration Sets

Markov Chains. Chapter 16. Markov Chains - 1

Dynamic Pricing for Non-Perishable Products with Demand Learning

SOME RESOURCE ALLOCATION PROBLEMS

A Lagrangian relaxation method for solving choice-based mixed linear optimization models that integrate supply and demand interactions

Oblivious Equilibrium: A Mean Field Approximation for Large-Scale Dynamic Games

Introduction to sensitivity analysis

Technical Companion to: Sharing Aggregate Inventory Information with Customers: Strategic Cross-selling and Shortage Reduction

Integrating advanced discrete choice models in mixed integer linear optimization

Capacity Planning with uncertainty in Industrial Gas Markets

3E4: Modelling Choice

3E4: Modelling Choice. Introduction to nonlinear programming. Announcements

A Randomized Linear Program for the Network Revenue Management Problem with Customer Choice Behavior. (Research Paper)

Chapter 8 - Forecasting

Single-part-type, multiple stage systems

A Multi-criteria product mix problem considering multi-period and several uncertainty conditions

Study Unit 3 : Linear algebra

MS-E2140. Lecture 1. (course book chapters )

Global and China Sodium Silicate Industry 2014 Market Research Report

56:171 Operations Research Midterm Exam - October 26, 1989 Instructor: D.L. Bricker

Appendix - E-Companion

A Stochastic-Oriented NLP Relaxation for Integer Programming

Transcription:

JOURNAL OF INDUSTRIAL AND doi:10.3934/jimo.2010.6.123 MANAGEMENT OPTIMIZATION Volume 6, Number 1, February 2010 pp. 123 147 JOINT PRICING AND PRODUCTION PLANNING FOR FIXED PRICED MULTIPLE PRODUCTS WITH BACKORDERS Lou Caccetta and Elham Mardaneh Western Australian Centre for Excellence in Industrial Optimisation Department of Mathematics and Statistics Curtin University of Technology GPO Box U1987, WA, 6845, Australia (Communicated by Adil Bagirov) Abstract. In this paper, we present a multiperiod model for production planning in a make-to-stock manufacturing system with constant pricing. We consider a multiproduct capacitated setting and introduce a demand-based model where the demand is a function of the price. There is an assumption that the production setup costs are negligible. A key part of the model is that backorders are allowed. As a result of this, the problem becomes a non linear programming problem with the nonlinearities in both the objective function and some constraints. We develop an algorithm that computes the global optimal production and pricing policy on a finite time horizon. We illustrate the application of the algorithm through a detailed numerical example. 1. Introduction. Inventory models traditionally assume that the price of each product is determined exogenously. In more recent times however, researchers have focused on the coordination of endogenous pricing and inventory control decisions in either service industry or manufacturing systems. For example, Revenue Management is a technique which has been applied to integrate the pricing and capacity control problems in the service industry, see Gallego and van Ryzin(1994). For the manufacturing sector, Gilbert(2000), studied a periodical multi-product pricing and inventory control problem with applications to production planning and manufacturing systems with no backorders. He considered a firm with a finite amount of resource which can be used to produce a variety of goods. The demand for each product is deterministic but dependent on its price. The planning horizon is finite and divided into multiple periods. At the beginning of the planning horizon, in order to maximize the profit, the firm has to decide how much of each product to produce in each period and how much carry to the next period, as well as the constant price of each product. In this paper we analyze the case where backordering is allowed. The application that motivated this research is manufacturing pricing, where the products are non-perishable assets and can be stored to fulfill the future demands. We assume that the firm is not flexible to change the price list frequently and usually has long-term contracts with Original Equipment Manufacturers (OEMs). Additionally, in some companies, the price announcement to market is done by 2000 Mathematics Subject Classification. Primary: 90B30, 80M50; Secondary: 90B50. Key words and phrases. Production Planning, Pricing, Coordination of Marketing and Operations Decisions. 123

124 LOU CACCETTA AND ELHAM MARDANEH publishing the price lists which cannot be adjusted easily. Hence the price change will bring a considerable cost to them. In general, choosing a constant price over a finite horizon facilitates the maintenance of a stable set of loyal customers. An extensive volume of literature exists on joint pricing and inventory decisions. For a comprehensive survey of the coordinated pricing and inventory control problems, we refer the reader to Shen, Simchi-Levi and Wu(2004). In the multiple product area, we can classify the literature research into three major categories as follow: 1. Revenue Management (RM) approaches. This approach typically considers capacity control problem with pricing strategies. Where the focus is about the policy of acceptance or rejection of the coming customer orders. Maglaras and Meissner(2006) make use of RM in a multiproduct stochastic environment. They consider a firm which strives to maximize its total expected revenues over a finite horizon, either by choosing a dynamic pricing strategy for each product, or if prices are fixed, by selecting a dynamic rule that controls the allocation of capacity to requests for the different products. 2. Continuous time production planning problems These are mostly approached by optimal control techniques. Adida and Perakis(2006 and 2007) use robust optimization and fluid dynamic models to study a make-to-stock manufacturing system either by uncertain or deterministic demand. In the deterministic problem, they introduce and study an algorithm that computes the optimal production and pricing policy as a function of the time on a finite time horizon, and discuss some insights. Their results illustrate the role of capacity and the effects of the dynamic nature of demand in the model. In the uncertain demand problem, they show that the robust formulation is of the same order of complexity as the nominal problem and demonstrate how to adapt the nominal (deterministic) solution algorithm to the robust problem. 3. Discrete time production planning problems Only a few researchers have considered discrete models for multiproduct capacitated systems. Gilbert (2000), deals with the problem of jointly determining prices and production schedules for a set of items that are produced on the same production equipment. Under the assumptions that the production setup costs are negligible and that demand is seasonal but price dependent, Gilbert (2000) exploits the special structure of the problem to develop a solution procedure with a novel use of network optimization and nonlinear programming methodology. However, in his work, backorders are not allowed over the planning horizon and all induced demands by the chosen prices should be met with the current production or holding inventories. In this paper, we investigate the case where backorders are allowed and the excess demand of products in some periods can be backlogged if it is more profitable. Our problem is computationally difficult, because it involves nonlinear objective function and some nonlinear constraints. Our strategy to reduce the level of difficulty is to utilize a method that solves the relaxed problem which considers only linear constraints. However, our method keeps track of the feasibility with respect to the nonlinear constraints in the original problem. The developed model which is a combination of Linear Programming (LP) and Nonlinear Programming (NLP) is solved iteratively.

FIXED PRICING AND PRODUCTION PLANNING 125 Iterations consist of two main stages. The first stage starts with a known basis for the LP, solves the linear equations corresponding to the chosen basis and finds the value of the LP s objective function in terms of the main problems decision variables (which is the demand intensity of each product induced by the pricing policy). The second stage receives the output of the first stage and based on that, finds the structure of the NLP. Next, the corresponding linear constraint set to the chosen basis in stage 1 is defined and the NLP is solved subject to the determined linear constraint set. Depending on the result of the NLP solution, some candidate bases will be revealed to restart iteration and repeat stages 1 and 2. To achieve the final optimal solution, a branching type procedure is utilized which will stop given that all next level branches have been visited in earlier iterations. Bearing in mind the fact that the backorder case makes the problem fairly hard to solve, our proposed strategy is practical to implement, as we demonstrate through a numerical example. Our paper is organized as follow: Section 2 develops a model for the backorder case. Section 3 presents our solution strategy. Section 4 presents our implementation algorithm and illustrates it with a numerical example. 2. Model. This section formulates the problem of joint fixed pricing and production planning of multiple products with allowable inventory carrying and backorders. Some important features of the problem, which we model, are: The planning horizon consists of T periods. The firm produces n different products and the demand of each product is period-varying and seasonal over the planning horizon. The price of each product is constant over the total planning horizon. Demand of each product is deterministic and dependent on its price. The production capacity is limited and shared among different products. Products use the same amount of capacity; here each product uses one unit of capacity. The production set up cost is negligible. All related costs including production, holding and shortage costs are constant over the planning horizon for each product. We make use of the following notation and terminology in the description of our. Parameters: n : the number of products T : the number of periods c j : the production cost of one unit of item j; j = 1, 2,...,n h j : the holding cost of one unit of item j in inventory for one period s j : the backordering cost of one unit of item j for one period K t : the total amount of available capacity in period t β jt : the seasonality parameter of item j in period t

126 LOU CACCETTA AND ELHAM MARDANEH Variables: p j : the price of product j; j = 1, 2,...,n p : the n-dimensional price vector D jt : the demand for item j in period t; j = 1, 2,..., n and t = 1, 2,..., T D : the n-dimensional demand intensity vector x jt : the amount of product j produced in period t y jt : the amount of product j held in inventory at the end of period t z jt : the amount of product j backordered from period t to meet the demand of period t 1 x 0t : the amount of unused capacity in period t X : the n T production matrix Y : the n T inventory matrix Z : the n T backordering matrix Functions: D j (p) : the demand intensity for product j, which is a function of the price vector Note that the relationship between demand intensity and price is known, but both of them are decision variables of the problem. R j (D) : the revenue function as D j (p).p j C(D) : the minimum cost of satisfying the demand corresponding to the induced demand intensities D 1,...,D n We assume that corresponding to each demand intensity vector, there is just one price vector; and for each price vector there is just one demand intensity vector. In this study, we look at situations, in which different products are presented to different market sectors. Hence there is no interaction between the price of one product and the demand of one another product or in other words, the cross price elasticity among various products is zero. By this assumption, we have the ease of using D j for j = 1,..., n as the decision variables. The next assumption relies on the concavity of the revenue function, R j (D), for each product j = 1,..., n. The seasonality model is assumed a purely multiplicative such that D jt = β jt.d j (p). We can explain this assumption by considering that the distribution of price sensitivity among the participants in the market doesn t change although the size of the market may differ in different periods. This justification is an interpretation of the model used for a single product in Gilbert(1999). On the contrary, Kunreuther and Schrage(1973) for the single product model assume a price-insensitive additive seasonality term with the intention that demand in period t is expressed as d t (p) = α t + β t D(p). Although this is more general than the purely multiplicative model, we note that in the application of their model, Kunreuther and Schrage assume that seasonality is purely additive, i.e., β 1 = β 2 = β T. As well, we assumed that the products are indexed in decreasing order of their holding and shortage costs, i.e., h i h j and s i s j for i < j. Like any other inventory system, the shortage cost is always more than holding cost. The problem of jointly determining the price and production plan can be formally expressed as follows:

FIXED PRICING AND PRODUCTION PLANNING 127 Such that Where C(D) Subject to: π = max {π(d) = n T R j (D) β jt C(D)}. (2.1) D 0 T t=1 j=1 = min { T X,Y,Z 0 j=1 n D j β jt t=1 j=1 t=1 T K t. (2.2) t=1 n (c j x jt + h j y jt + s j z jt }. (2.3) D jt = x jt + y jt 1 + z jt+1 z jt y jt, for t = 1,...,T and j = 1,...,n. (2.4) n x jt = K t, for t = 1,...,T. (2.5) j=0 y jt.z jt+1 = 0, for t = 1,...,T and j = 1,...,n. (2.6) Constraint (2.2) ensures that only demand intensity vectors which result a feasible solution to the cost minimization sub problem, C(D), have been considered. Constraint (2.4) is a set of flow balance equations that ensure that all of the induced demand is satisfied. Constraint (2.5) ensures that there is an adequate amount of capacity in period t to produce all n items based on the plan. The requirement in (2.6) that inventory and shortage as a cross product should be zero ensures that when there is an insufficient amount of capacity in one period t = 1,...,T, the priority is to meet the own demand instead of the others periods. For the case when backorders are not allowed, Gilbert (2000) utilized the fact that the objective function to be maximized in the model was concave in the demand vector D = [D 1,...,D n ]. This property holds also for the backorder case in our model. Formally we have: Theorem 2.1. The profit function, π(d) that is to be maximized in (2.1) is concave in the demand vector. 3. Solution strategy. Given the capacity limitations and other parameters, the firm must decide upon production quantities, inventory and backorder levels for each item as well as a constant price at which it commits to sell the products over the total planning horizon. Note that for each D vector, as the decision variable of the model, there is an optimal solution to the cost minimization sub-problem, C(D) in terms of the considered D vector. In other words, when the D vector is changed the coefficients of the profit function, π(d), will also change. Consequently, the problem can be solved iteratively. Each iteration starts with a known basis for the C(D) and involves two stages:

128 LOU CACCETTA AND ELHAM MARDANEH Stage 1: Solve the cost minimization sub problem, C(D) 1. Consider a known basis, B(D), for the cost minimization sub problem, C(D). Each basis consists of some of the x, y and z variables for j = 0, 1,..., n and t = 1, 2,...,T. 2. Find the values of the basic variables for C(D) in terms of D j s. This step can be done by using equations (2.4) and (2.5). 3. Find the value of the C(D) objective function in terms of D j s by using (2.3). Stage 2: Solve the main Non-Linear problem and update the basis 1. Restructure the profit function, π(d), subject to above defined C(D) function and using (2.1). 2. Determine a linear constraint set Ω(B(D)) such that B(D) is an optimal basis for any D Ω(B(D)). Concerning the Theorem 2.1, we would guarantee to obtain an optimal solution for the concave objective function, π(d), over a linear set of constraints, Ω(B(D)). It is worthwhile to mention that once B(D) is determined, Ω(B(D)) can be fully specified by using a procedure presented in Section 3.1. 3. Solve the NLP, that maximizes π(d) subject to D Ω(B(D)). 4. If any of the constraints are binding in the optimal solution to this NLP, determine how the basis for the cost minimization problem should change. Find the candidate new basis. The procedure to do step 4 is mentioned in Section 3.2 by details. To achieve the final optimal solution, a branching type procedure is utilized which will stop given that all candidate basis have been visited. 3.1. Determination of the constraint set, Ω(B(D)), for each known basis. Input: The x, y and z basic variables Output: A set of linear constraints, Ω(B(D)), in terms of D j s. Steps: First, define i(t) as the number of x jt variables in the basis for j = 0,...,n. Next, for each period t, if x 0t B(D), calculate the following constraints in terms of D j s. n x jt K t (3.1) j=1

FIXED PRICING AND PRODUCTION PLANNING 129 Then add (3.1) constraint in set named A 1. Otherwise, if x 0t / B(D) and y i(t)t 1 B(D), calculate the following constraints in terms of D j s. y i(t)t 1 > 0 x i(t)t 0 (3.2a) (3.2b) if x 0t / B(D) and y i(t)t 1 / B(D), calculate the following constraints in terms of D j s. z i(t)t+1 > 0 x i(t)t 0 (3.2a) (3.2b) Then add (3.2a) constraint in a set named A 2 and (3.2b) in a set named A 3. After completing these steps for all t, create Ω(B(D)) by Ω(B(D)) = A 1 A 2 A 3. 3.2. Finding new candidate basis for each binding constraint in ΩB(D)). Input: Solution of the NLP and list of binding constaint in Ω(B(D)). Output: Candidates for a change of the current basis, B(D). Before going to the main steps of the procedure we need to define some values as follow: θ(t, j) : min{t t; y jt / B(D)} α(t, j) : max{t t; z jt / B(D)} τ(t) : min{α(t, j); j = 1,...,n} a(t) : {j : α(t, j) = τ(t) and s j h j s i h i, for i j} τ (t) : max{θ(t, j); j = 1,...,n} b(t) : {j : θ(t, j) = τ (t) and s j h j s i h i, for i j} Steps: For any binding constraint which belongs to set A 1, the new candidates can be determined as follow: Case 1: t = T If (z jt / B(D), for j = 1,...,n){first candidate basis = B(D) {x 0T } + {y nt 1 }} Else {first candidate basis = B(D) {z a(t)τ(t)+1 } + {y a(t)τ(t) 1 }}. Case 2: t = T 1 If (z jt / B(D), for j = 1,...,n){first candidate basis = B(D) {x 0t } + {y nt 1 }; If (y jt / B(D), for j = 1,...,n){second candidate basis = B(D) {x 0t } + {z nt+1 }}}

130 LOU CACCETTA AND ELHAM MARDANEH Else { If (y jt / B(D), for j = 1,..., n){first candidate basis = B(D) {x 0t }+ {z nt+1 }; If (τ(t) > 1){second candidate basis = B(D) {z a(t)τ(t)+1 } + {y a(t)τ(t) 1 }}} Else {first candidate basis = B(D) {z a(t)τ(t)+1 } + {y a(t)τ(t) 1 }}}. Case 3: 2 < t < T 1 If (z jt / B(D), for j = 1,...,n){first candidate basis = B(D) {x 0t } + {y nt 1 }; Else { If (y jt / B(D), for j = 1,...,n){second candidate basis = B(D) {x 0t } + {z nt+1 }}} Else { If (τ (t) < T){second candidate basis = B(D) {y b(t)τ (t) 1} + {z b(t)τ (t)+1}}}} If (y jt / B(D), for j = 1,..., n){first candidate basis = B(D) {x 0t }+ {z nt+1 }; Else { If (τ(t) > 1){second candidate basis = B(D) {z a(t)τ(t)+1 } + {y a(t)τ(t) 1 }}} If (τ(t) > 1){first candidate basis = B(D) {z a(t)τ(t)+1 } + {y a(t)τ(t) 1 }; If (τ (t) < T){second candidate basis = B(D) {y b(t)τ (t) 1}+ {z b(t)τ (t)+1}}} If (τ(t) = 1){first candidate basis = B(D) {y b(t)τ (t) 1} + {z b(t)τ (t)+1}}}}. Case 4: t = 2 If (z jt / B(D), for j = 1,...,n){first candidate basis = B(D) {x 0t } + {y nt 1 };

FIXED PRICING AND PRODUCTION PLANNING 131 Else { If (y jt / B(D), for j = 1,...,n){second candidate basis = B(D) {x 0t } + {z nt+1 }} Else { If (τ (t) < T){second candidate basis = B(D) {y b(t)τ (t) 1} + {z b(t)τ (t)+1}}} If (y jt / B(D), for j = 1,..., n){first candidate basis = B(D) {x 0t }+ {z nt+1 }}; Else {first candidate basis = B(D) {y b(t)τ (t) 1} + {z b(t)τ (t)+1}}}}. Case 5: t = 1 If (y jt / B(D), for j = 1,...,n){first candidate basis = B(D) {x 0t } + {z nt+1 }} Else {first candidate basis = B(D) {y b(t)τ (t) 1} + {z b(t)τ (t)+1}}. For any binding constraint which belongs to set A 2, the new candidates can be determined as follow: If (z i(t)t+1 B(D), for j = 1,...,n){first candidate basis = B(D) {z i(t)t+1 }+ {x 0t or x i(t)+1t }} Else {first candidate basis = B(D) {y i(t)t 1 } + {x 0t or x i(t)+1t }}. For any binding constraint which belongs to set A 3, the new candidates can be determined as follow: For (t = T){first candidate basis = B(D) {x i(t)t } + {y i(t) 1t 1 }} For (1 < t < T){first candidate basis = B(D) {x i(t)t } + {y i(t) 1t 1 }; If (y jt / B(D), for j = 1,...,n){second candidate basis = B(D) {x i(t)t } + {z i(t) 1t+1 }}} For (t = 1){first candidate basis = B(D) {x i(t)t } + {z i(t) 1t 1 }. 4. Implementation. In this section, two algorithms are presented to implement the solution strategy: Semi-Random and Greedy. Because of the similarities between two algorithms, just the Semi-Random is discussed in detail. 4.1. Semi-Random algorithm. In this algorithm after the initialization step, which starts with a specific basis and proposes some other candidates to change the specific basis, the suggested candidates will be visited level by level. In other words, in each level, all the proposed candidates will be checked completely before going to the next level.

132 LOU CACCETTA AND ELHAM MARDANEH In order to bring the algorithm s steps by detail, we need to define some more parameters and variables as well as previously defined: 4.1.1. Parameters. P j (D j ): the price function of product j, which is inverse of demand intensity function. For instance: P j (D j ) = a j b j.d j. 4.1.2. Variables. B(D): set of x jt, y jt and z jt variables chosen as basic variables / basis. B (D): as an indicator of a basis is being currently tested. Ω(B(D)) : set of linear constaints induced by B(D) in terms of D j s. This is defined by mentioned procedure in section 3.1. C(D) cost minimization objective function, which is formulated as: T t=1 j=1 n (c j x jt + h j y jt + s j z jt ) π(d) non-linear problem s objective function, NLP, which is structured as: n T P j (D j ).D j β jt C(D) j=1 t=1 LCS : set of linear constraints as follow: D jt = x jt + y jt 1 + z jt+1 z jt y jt, for t = 1,.., T and j = 1,...,n. n x jt = K t, for t = 1,...,T. j=0 U : set of visited basis Note that every basis in this set has a π(d) value, which can be obtained by solving the NLP subject to that basis. U = {B(D), B k (D),...}. V i : set of non-visisted basis in the i th iteration. POS : matrix of potential optimal solutions (D ) along with corresponding basis and π(d) value. D B(D) π(d) POS =.... Di B i (D) π i (D)

FIXED PRICING AND PRODUCTION PLANNING 133 4.1.3. Main body. Initialize by i = 0 and B(D), B (D), U, V i, POS = φ 1. B(D) = B(D) + {x jt ; forj = 0,...,n andt = 1,...T} andb (D) = B(D). If a variable / B(D), it means that it has a zero value. 2. Calculate x jt, y jt and z jt values in terms of D j s by using the LCS. Then Calculate the C(D) value for above found x jt, y jt and z jt in terms of D j s by using it s formulation. Define NLP structure in terms of D j s by using its structure definition. 3. Apply the procedure defined in section 3.1 to create set of constraints, Ω (B(D)) induced by B (D). 4. Solve the NLP defined in step 3 subject to Ω (B(D)) and this constraint. T t=1 j=1 n D j β jt in order to find the optimal value of D j s, D, and corresponding π(d). This step is in fact maximising a Non-Linear Concave Objective Function over a Linear Constraint set which surely achieves to an optimal solution. T t=1 K t 5. Add B (D) and it s corresponding π(d) to U. In other words, U = U +B (D). 6. Check whether or not there is any binding constraint in Ω (B(D)) subject to D. If the answer is NO, D is the optimal solution of the problem. Go to step 13. If the answer is YES, i = i + 1. To do this step, we should put D value in each constraint and see whether or not it comes to an equation. If it is an equation, it is binding. 7. Apply the procedure defined in section 3.2 to find the candidate basis for each binding constraint and label them as B 1 (D), B 2 (D), B 3 (D),... Note that the parent of all the founded candidates is the basis which was recently being tested, B (D).

134 LOU CACCETTA AND ELHAM MARDANEH 8. Add all candidates found in step 7 to V i. V i = {B 1 (D), B 2 (D), B 3 (D),...} 9. Choose one of the basis in set V i at random; suppose that it is B c (D). For the choosen basis, do the following steps: 9.1. B (D) = B c (D) 9.2. Repeat steps 2 and 3 for this new basis, B (D). 9.3. If the created Ω (B(D)) has feasible area, repeat step 4 for this new basis and go to step 9.4. Else if the created Ω (B(D)) has no feasible area (i) Add parent of B (D) and it s corresponding D and π(d) to POS. (ii) Add B (D) to U, give a zero value to the basis in set U, delete B (D) from V i, i = i + 1 and go to step 10. 9.4. Add B (D) and it s corresponding π(d) to U, delete B (D) from V i. 9.5. Check whether or not there is any binding constraint in Ω (B(D)) subject to D. If the answer is NO, add B (D) and it s corresponding D and π(d) to POS. i = i+1, go to step 10. If the answer is YES, i = i+1. 9.6. Apply the procedure defined in section 3.2 to find the candidate basis for each building constraint and lebel them as B c1 (D), B c2 (D), B c3 (D),... Note that the number of index in B(D) is equal to i. For example in the first iteration we have B 1 (D), B 2 (D), B 3 (D),..., in the second interation we have B 11 (D), B 12 (D), B 13 (D),... and in the fifth interation we have B 12312 (D), B 21342 (D), B 42315 (D),... 9.7. Add those candidates found in step 9.6 which are not equal to none of the elements of set U, V 1, V 2,... and V i to V i. Update POS by those candidates found in step 9.6 which are already in set U or V 1, V 2,..., V i. 10. i = i 1 and restart from step 9; continue till set V i come to φ. 11. i = i + 1, check if V i exists and is not φ go to step 9, if it does not exist or ir φ go to step 12.

FIXED PRICING AND PRODUCTION PLANNING 135 12. Find the biggest value of φ(d) in POS, and show the corresponding D and basis for that. 13. Calculate the optimal price for each product by using the price function, P j (D j ). Show the values of x, y, z variables corresponding to the optimal basis. 4.2. Greedy algorithm. In this algorithm, the only important dissimilarity with the Semi-Random algorithm is that we don t need to define set V i in each level as the set of non-visited basis. Regardless of the level of the visited basis, each basis which has a greater value for the objective function will be chosen earlier to find its next level. 4.3. Numerical Example. In order to display our algorithm more clearly, consider a case with n = 2 products and T = 6 periods, the parameters for the two products are as shown in Table 1. Table 1. Parameters of the Example Product P j (D j ) h j s j c j β j1 β j2 β j3 β j4 β j5 β j6 j = 1 30 0.2D 1 6 8 0 0.6 0.5 0.2 3 1.5 0.2 j = 2 30 0.2D 2 2.5 4 0 1 1 1 1 1 1 Note that the relationship between price and demand intensity for both products is identical, and that their cross price elasticity is zero. For ease of manual computation, we have specified the unit costs to be zero; however nonzero production cost can be covered by this algorithm. Finally, we assume a fixed production capacity, K t = 140, for all periods in the planning horizon. In order to solve this example we choose the Semi-Random algorithm and follow it step by step: Initialize by i = 0 and B(D), B (D), U, V i, POS = φ 1. B(D) ={x 01, x 02, x 03, x 04, x 05, x 06, x 11, x 12, x 13, x 14, x 15, x 16, x 21, x 22, x 23, x 24, x 25, x 26 } and B (D) = B(D).

136 LOU CACCETTA AND ELHAM MARDANEH x 11 = 0.6D 1, x 12 = 0.5D 1, x 13 = 0.2D 1, x 14 = 3D 1, x 15 = 1.5D 1, x 16 = 0.2D 1, x 21 = D 2, x 22 = D 2, x 23 = D 2, x 24 = D 2, x 25 = D 2, x 26 = D 2, x 01 = 140 0.6D 1 D 2, x 02 = 140 0.5D 1 D 2, x 03 = 140 0.2D 1 D 2, x 04 = 140 3D 1 D 2, x 05 = 140 1.5D 1 D 2, x 06 = 140 0.2D 1 D 2, Note that all other y and z variables are zero. C(D) = [0(x 11 + x 12 + x 13 + x 14 + x 15 + x 16 + x 21 + x 22 + x 23 + x 25 + x 26 ) + 6(y 11 + y 12 + y 13 + y 14 + y 15 ) + 2.5(y 21 + y 22 + y 23 + y 25 ) + 8(z 12 + z 13 + z 14 + z 15 + z 16 ) + 4(z 22 + z 23 + z 24 + z 25 + z 26 )] = 0 The NLP structure is: 2 6 P j (D j )D j β jt C(D) = (30 0.2D 1 )D 1 6 + (30 0.2D 2 )D 2 6 0 j=1 t=1 = 1.2D 2 1 1.2D2 2 + 180D 1 + 180D 2 2. A 1 = t = 1; x 01 B(D) 0.6D 1 + D 2 140 t = 2; x 02 B(D) 0.5D 1 + D 2 140 t = 3; x 03 B(D) 0.2D 1 + D 2 140 t = 4; x 04 B(D) 3D 1 + D 2 140 t = 5; x 05 B(D) 1.5D 1 + D 2 140 t = 6; x 06 B(D) 0.2D 1 + D 2 140 A 2, A 3 = φ Ω (B(D)) = A 1. 3. max D1,D 2 0{ 1.2D 2 1 1.2D2 2 + 180D 1 + 180D 2 }, subject to: t = 1; 0.6D 1 + D 2 140 t = 2; 0.5D 1 + D 2 140 t = 3; 0.2D 1 + D 2 140 t = 4; 3D 1 + D 2 140 t = 5; 1.5D 1 + D 2 140 t = 6; 0.2D 1 + D 2 140 and D 1 + D 2 140. Optimal Solution: D 1 = 27, D 2 = 59, π(d 1, D 2) = 10428

FIXED PRICING AND PRODUCTION PLANNING 137 4. U = {(B(D), 10428)}. Note that the corresponding objective function value is given to each element in set U. 5. t = 4; 3D 1 + D 2 140 subject to D1 = 27, D 2 = 59 is binding. i = 1. 6. Since the binding constraint belongs to set A 1, the candidate bases for it are: B 1 (D) = B(D) {x 04 } + {y 23 } = {x 01, x 02, x 03, y 23, x 05, x 06, x 11, x 12, x 13, x 14, x 15, x 16, x 21, x 22, x 23, x 24, x 25, x 26 } B 2 (D) = B(D) {x 04 } + {z 25 } = {x 01, x 02, x 03, z 25, x 05, x 06, x 11, x 12, x 13, x 14, x 15, x 16, x 21, x 22, x 23, x 24, x 25, x 26 } 7. V 1 = {B 1 (D), B 2 (D)}. 8. Suppose that the algorithm chooses B 1 (D) at random. 8.1. B (D) = B 1 (D) = {x 01, x 02, x 03, y 23, x 05, x 06, x 11, x 12, x 13, x 14, x 15, x 16, x 21, x 22, x 23, x 24, x 25, x 26 } 8.2. x 11 = 0.6D 1, x 12 = 0.5D 1, x 13 = 0.2D 1, x 14 = 3D 1, x 15 = 1.5D 1, x 16 = 0.2D 1, x 21 = D 2, x 22 = D 2, x 23 = D 2, x 24 = D 2, x 25 = D 2, x 26 = D 2, x 01 = 140 0.6D 1 D 2, x 02 = 140 0.5D 1 D 2, x 03 = 280 3.2D 1 2D 2, y 23 = 3D 1 + D 2 140, x 05 = 140 1.5D 1 D 2, x 06 = 140 0.2D 1 D 2,

138 LOU CACCETTA AND ELHAM MARDANEH Note that x 04 is a non-basic variable, and y 23 is a basic variable. C(D) = [0(x 11 + x 12 + x 13 + x 14 + x 15 + x 16 + x 21 + x 22 + x 23 + x 25 + x 26 ) + 6(y 11 + y 12 + y 13 + y 14 + y 15 ) + 2.5(y 21 + y 22 + y 23 + y 25 ) + 8(z 12 + z 13 + z 14 + z 15 + z 16 ) + 4(z 22 + z 23 + z 24 + z 25 + z 26 )] = 7.5D 1 + 2.5D 2 350. The NLP structure is (30 0.2D 1 )D 1 6 + (30 0.2D 2 )D 2 6 7.5D 1 2.5D 2 + 350 = 1.2D 2 1 1.2D2 2 + 172.5D 1 + 177.5D 2 + 350. t = 1; x 01 B(D) 0.6D 1 + D 2 140 t = 2; x 02 B(D) 0.5D 1 + D 2 140 A 1 = t = 3; x 03 B(D) 3.2D 1 + 2D 2 280 t = 5; x 05 B(D) 1.5D 1 + D 2 140 t = 6; x 06 B(D) 0.2D 1 + D 2 140 { A 2 = t = 4; x04 / B(D) 3D 1 + D 2 > 140 } { A 3 = t = 4; x04 / B(D) 3D 1 140 } Ω (B(D)) = A 1 A 2 A 3. 8.3. Ω (B(D)) has a feasible area, solve the NLP: max D1,D 2 0{ 1.2D 2 1 1.2D2 2 + 172.5D 1 + 177.5D 2 + 350}, subject to: t = 1; 0.6D 1 + D 2 140 t = 2; 0.5D 1 + D 2 140 t = 3; 3.2D 1 + 2D 2 280 t = 4; 3D 1 + D 2 > 140 t = 4; 3D 1 140 t = 5; 1.5D 1 + D 2 140 t = 6; 0.2D 1 + D 2 140 and D 1 + D 2 140. Optimal Solution: D1 = 46.67, D 2 = 65.33, π(d 1, D 2 ) = 12261.20 8.4. U = {(B(D), 10428), (B 1 (D), 12261.20)} and V 1 = {B 2 (D)}. 8.5. t = 3; 3.2D 1 + 2D 2 280 from set A 1 and t = 4; 3D 1 140 for set A 3 subject to D 1 = 46.67, D 2 = 65.33 are binding. i = 2.

FIXED PRICING AND PRODUCTION PLANNING 139 8.6. For the binding constraint which belongs to set A 1, the candiates basis are defined as follow: B 11 (D) = B (D) {x 03 } + {y 22 } = {x 01, x 02, y 22, y 23, x 05, x 06, x 11, x 12, x 13, x 14, x 15, x 16, x 21, x 22, x 23, x 24, x 25, x 26 } t = 3 : θ(3, 1) : min{t 3; y 1t / B(D)} = 3 θ(3, 2) : min{t 3; y 2t / B(D)} = 4 τ (3) : max{θ(3, j); j = 1, 2} = 4 b(3) : {j : θ(3, j) = τ (3) and s j h j s i h i for i j} = 2 B 12 (D) = B (D) {y 23 } + {z 25 } = {x 01, x 02, x 03, z 25, x 05, x 06, x 11, x 12, x 13, x 14, x 15,, x 16, x 21, x 22, x 23, x 24, x 25, x 26 } For the binding constraint wichi belongs to set A 3, the candidates bases are: t = 4 : i(4) = 2 B 13 (D) = B (D) {x 24 } + {y 13 } = {x 01, x 02, x 03, y 23, x 05, x 06, x 11, x 12, x 13, x 14, x 15, x 16, x 21, x 22, x 23, y 13, x 25, x 26 } B 14 (D) = B (D) {x 24 } + {z 15 } = {x 01, x 02, x 03, y 23, x 05, x 06, x 11, x 12, x 13, x 14, x 15, x 16, x 21, x 22, x 23, z 15, x 25, x 26 } Continuing in this way, the remaining steps will result in the following basis which have been visited and shown in Table 2.

140 LOU CACCETTA AND ELHAM MARDANEH Table 2. List of visited basis stemmed from the continued algorithm Visited Elements of Basis the Basis B 2 (D) {x 01, x 02, x 03, z 25, x 05, x 06, x 11, x 12, x 13, x 14, x 15, x 16, x 21, x 22, x 23, x 24, x 25, x 26 } B 11 (D) {x 01, x 02, y 22, y 23, x 05, x 06, x 11, x 12, x 13, x 14, x 15, x 16, x 21, x 22, x 23, x 24, x 25, x 26 } B 13 (D) {x 01, x 02, x 03, y 23, x 05, x 06, x 11, x 12, x 13, x 14, x 15, x 16, x 21, x 22, x 23, y 13, x 25, x 26 } B 14 (D) {x 01, x 02, x 03, y 23, x 05, x 06, x 11, x 12, x 13, x 14, x 15, x 16, x 21, x 22, x 23, z 15, x 25, x 26 } B 22 (D) {x 01, x 02, x 03, z 25, z 26, x 06, x 11, x 12, x 13, x 14, x 15, x 16, x 21, x 22, x 23, x 24, x 25, x 26 } B 142 (D) {x 01, x 02, x 03, z 25, x 05, x 06, x 11, x 12, x 13, x 14, x 15, x 16, x 21, x 22, x 23, z 15, x 25, x 26 } B 132 (D) {x 01, x 02, x 03, z 25, x 05, x 06, x 11, x 12, x 13, x 14, x 15, x 16, x 21, x 22, x 23, y 13, x 25, x 26 } B 223 (D) {x 01, x 02, x 03, y 23, z 26, x 06, x 11, x 12, x 13, x 14, x 15, x 16, x 21, x 22, x 23, x 24, x 25, x 26 } B 113 (D) {x 01, x 02, y 22, y 23, x 05, x 06, x 11, x 12, x 13, x 14, x 15, x 16, x 21, x 22, x 23, y 13, x 25, x 26 } B 144 (D) {x 01, x 02, x 03, y 23, z 26, x 06, x 11, x 12, x 13, x 14, x 15, x 16, x 21, x 22, x 23, z 15, x 25, x 26 } B 112 (D) {x 01, x 02, y 22, y 23, z 26, x 06, x 11, x 12, x 13, x 14, x 15, x 16, x 21, x 22, x 23, x 24, x 25, x 26 } B 222 (D) {x 01, x 02, x 03, z 25, z 26, x 06, x 11, x 12, x 13, x 14, x 15, x 16, x 21, x 22, x 23, z 15, x 25, x 26 } B 114 (D) {x 01, x 02, y 22, y 23, x 05, x 06, x 11, x 12, x 13, x 14, x 15, x 16, x 21, x 22, x 23, z 15, x 25, x 26 } B 221 (D) {x 01, x 02, x 03, z 25, z 26, x 06, x 11, x 12, x 13, x 14, x 15, x 16, x 21, x 22, x 23, y 13, x 25, x 26 } B 111 (D) {x 01, x 02, y 22, y 23, y 24, x 06, x 11, x 12, x 13, x 14, x 15, x 16, x 21, x 22, x 23, x 24, x 25, x 26 } B 1132 (D) {x 01, x 02, y 22, y 23, z 26, x 06, x 11, x 12, x 13, x 14, x 15, x 16, x 21, x 22, x 23, y 13, x 25, x 26 } B 2211 (D) {x 01, x 02, x 03, y 23, z 26, x 06, x 11, x 12, x 13, x 14, x 15, x 16, x 21, x 22, x 23, y 13, x 25, x 26 } B 1131 (D) {x 01, x 02, y 22, y 23, y 24, x 06, x 11, x 12, x 13, x 14, x 15, x 16, x 21, x 22, x 23, y 13, x 25, x 26 } B 1441 (D) {x 01, x 02, y 22, y 23, z 26, x 06, x 11, x 12, x 13, x 14, x 15, x 16, x 21, x 22, x 23, z 15, x 25, x 26 } B 11321 (D) {x 01, y 21, y 22, y 23, z 26, x 06, x 11, x 12, x 13, x 14, x 15, x 16, x 21, x 22, x 23, y 13, x 25, x 26 } Here we detail some of the final steps of the algorithm: 1. This step is in fact the application of the step 9 and its sub steps. Suppose that the algorithm chooses B 11311 (D) at random. 1.1. B (D) = B 11311 (D) ={x 01, y 21, y 22, y 23, y 24, x 06, x 11, x 12, x 13, x 14, x 15, x 16, x 21, x 22, x 23, y 13, x 25, x 26 } 1.2. x 11 = 0.6D 1, x 12 = 0.5D 1, x 13 = 3.2D 1 140, x 14 = 140 x 15 = 1.5D 1, x 16 = 0.2D 1, x 21 = 5.2D 1 + 5D 2 560 x 22 = 140 0.5D 1, x 23 = 280 3.2D 1, y 13 = 3D 1 140 x 25 = 140 1.5D 1, x 26 = D 2 x 01 = 700 5.8D 1 5D 2 y 21 = 5.2D 1 + 4D 2 560, y 22 = 4.7D 1 + 3D 2 420, y 23 = D 2 y 24 = 1.5D 1 + D 2 140, x 06 = 140 0.2D 1 D 2.

FIXED PRICING AND PRODUCTION PLANNING 141 Note that x 05, x 04, x 03, x 02 and x 24 are non-basic, and y 24, y 23, y 22, y 21 and y 13 are basic variables. C(D) = [0(x 11 + x 12 + x 13 + x 14 + x 15 + x 16 + x 21 + x 22 + x 23 + x 25 + x 26 ) + 6(y 11 + y 12 + y 13 + y 14 + y 15 ) + 2.5(y 21 + y 22 + y 23 + y 25 ) + 8(z 12 + z 13 + z 14 + z 15 + z 16 ) + 4(z 22 + z 23 + z 24 + z 25 + z 26 )] = 50.25D 1 + 25D 2 3990. The NLP structure is (30 0.2D 1 )D 1 6 + (30 0.2D 2 )D 2 6 50.25D 1 25D 2 + 3990 = 1.2D 2 1 1.2D 2 2 + 129.75D 1 + 155D 2 + 3990. { } t = 1; x01 B(D) 5.8D 1 + 5D 2 700 A 1 = t = 6; x 06 B(D) 0.2D 1 + D 2 140 t = 2; x 02 / B(D) 5.2D 1 + 4D 2 > 560 t = 3; x 03 / B(D) 4.7D 1 + 3D 2 > 420 A 2 = t = 4; x 04 / B(D) 3D 1 > 140 t = 5; x 05 B(D) 1.5D 1 + D 2 > 140 t = 2; x 02 / B(D) 0.5D 1 140 t = 3; x 03 / B(D) 3.2D 1 280 A 3 = t = 4; x 04 / B(D) 140 > 0 t = 5; x 05 B(D) 1.5D 1 140 Ω (B(D)) = A 1 A 2 A 3. 1.3. Ω (B(D)) has a feasible area, solve the NLP: max D1,D 2 0{ 1.2D 2 1 1.2D2 2 + 129.75D 1 + 155D 2 + 3990}, subject to: t = 1; 5.8D 1 + 5D 2 700 t = 2; 5.2D 1 + 4D 2 > 560 t = 2; 0.5D 1 140 t = 3; 4.7D 1 + 3D 2 > 420 t = 3; 3.2D 1 280 t = 4; 3D 1 > 140 t = 5; 1.5D 1 + D 2 > 140 t = 5; 1.5D 1 140 t = 6; 0.2D 1 + D 2 140 and D 1 + D 2 140. Optimal Solution: D1 = 56.54, D2 = 66.49, π(d1, D2) = 12490.748

142 LOU CACCETTA AND ELHAM MARDANEH 1.4. U ={(B(D), 10428), (B 1 (D), 12261.20), (B 2 (D), 11260.21), (B 11 (D), 12308.33), (B 13 (D), 12277.9), (B 14 (D), 11652.08), (B 22 (D), 11935.05), (B 142 (D), 10476.67), (B 132 (D), 10476.67), (B 223 (D), 20339.38), (B 113 (D), 12387.98), (B 144 (D), 12401.97), (B 112 (D), 12308.39), (B 222 (D), 11947.39), (B 114 (D), 12313.63), (B 221 (D), 12184.46), (B 111 (D), 12308.33), (B 1132 (D), 12559.71), (B 2211 (D), 0), (B 1131 (D), 11790.748), (B 1441 (D), 12443.85), (B 11321 (D), 12559.71), (B 11311 (D), 12490.75)}. and V 5 = {B 11322(D) }. 1.5. t = 2; 5.2D 1 +4D 2 > 560 from set A 2 subject to D 1 = 56.54, D 2 = 66.49 is binding. i = 6. 1.6. For the binding constraint which belongs to set A 2, the candidate basis are defined as follow: B 113111 (D) = B (D) {y 21 } + {x 02 } = {x 01, x 02, y 22, y 23, y 24, x 06, x 11, x 12, x 13, x 14, x 15, x 16, x 21, x 22, x 23, y 13, x 25, x 26 } Candidate B 113111 (D) is like B 1131 (D) in set U. So set V 6 is still not constructed, but matrix POS should be updated. POS = (D1 = 46.67, D 2 = 65.33) B 1(D) π(d) = 12261.20 (D1 = 48.64, D2 = 62.17) B 13 (D) π(d) = 12277.9 (D1 = 36.29, D2 = 58.35) B 2 (D) π(d) = 11260.21 (D1 = 46.67, D 2 = 66.89) B 22(D) π(d) = 11935.05 (D1 = 56.70, D 2 = 64.33) B 144(D) π(d) = 12401.97 (D1 = 51.19, D2 = 63.22) B 113 (D) π(d) = 12387.98 (D1 = 59.2, D2 = 59.78) B 221 (D) π(d) = 12184.46 (D1 = 58.6, D 2 = 67.72) B 1132(D) π(d) = 12559.71 (D1 = 57.29, D 2 = 70.2) B 1441(D) π(d) = 12443.85 (D1 = 56.54, D 2 = 66.49) B 1131(D) π(d) = 11790.75 2. i = 5 and restart from step 9; continue till set V 5 comes to φ. 3. The only element in set V 5 is B 11322 (D). This step is again repeating the step 9 of the algorithm.

FIXED PRICING AND PRODUCTION PLANNING 143 3.1. B (D) = B 11322 (D) ={x 01, x 02, y 22, z 25, z 26, x 06, x 11, x 12, x 13, x 14, x 15, x 16, x 21, x 22, x 23, y 13, x 25, x 26 } 3.2. x 11 = 0.6D 1, x 12 = 0.5D 1, x 13 = 3.2D 1 140, x 14 = 140 x 15 = 1.5D 1, x 16 = 0.2D 1, x 21 = D 2 x 22 = 3.2D 1 + 2D 2 140, x 23 = 140 3.2D 1, y 13 = 3D 1 140 x 25 = 140 1.5D 1, x 26 = 1.5D 1 + 3D 2 140, x 01 = 140 0.6D 1 D 2 x 02 = 420 3.7D 1 2D 2, y 22 = 3.2D 1 + D 2 140, z 25 = D 2 z 26 = 1.5D 1 + 2D 2 140, x 06 = 280 1.7D 1 3D 2. Note that x 05, x 04, x 03 and x 24 are non-basic, and z 26, z 25, y 22 and y 13 are basic variables. C(D) = [0(x 11 + x 12 + x 13 + x 14 + x 15 + x 16 + x 21 + x 22 + x 23 + x 25 + x 26 ) + 6(y 11 + y 12 + y 13 + y 14 + y 15 ) + 2.5(y 21 + y 22 + y 23 + y 25 ) + 8(z 12 + z 13 + z 14 + z 15 + z 16 ) + 4(z 22 + z 23 + z 24 + z 25 + z 26 )] = 32D 1 + 14.5D 2 1470. The NLP structure is (30 0.2D 1 )D 1 6 + (30 0.2D 2 )D 2 6 32D 1 14.5D 2 + 1470 = 1.2D 2 1 1.2D 2 2 + 148D 1 + 165.5D 2 + 1470. A 1 = A 2 = A 3 = t = 1; x 01 B(D) 0.6D 1 + D 2 140 t = 2; x 02 B(D) 3.7D 1 + 2D 2 420 t = 6; x 06 B(D) 1.7D 1 + 3D 2 280 t = 3; x 03 / B(D) 3.2D 1 + D 2 > 280 t = 4; x 04 / B(D) 3D 1 > 140 t = 5; x 05 B(D) 1.5D 1 + 2D 2 > 140 t = 3; x 03 / B(D) 3.2D 1 280 t = 4; x 04 / B(D) 140 > 0 t = 5; x 05 B(D) 1.5D 1 140 Ω (B(D)) = A 1 A 2 A 3.

144 LOU CACCETTA AND ELHAM MARDANEH 3.3. Ω (B(D)) has a feasible area, solve the NLP: 3.4. max D1,D 2 0{ 1.2D 2 1 1.2D 2 2 + 148D 1 + 165.5D 2 + 1470}, subject to: t = 1; 0.6D 1 + D 2 140 t = 2; 3.7D 1 + 2D 2 420 t = 3; 3.2D 1 + D 2 > 280 t = 3; 3.2D 1 280 t = 4; 3D 1 > 140 t = 5; 1.5D 1 + 2D 2 > 140 t = 5; 1.5D 1 140 t = 6; 1.7D 1 + 3D 2 280 and D 1 + D 2 140. Optimal Solution: D 1 = 70.89, D 2 = 53.16, π(d 1, D 2 ) = 11338.30 U ={(B(D), 10428), (B 1 (D), 12261.20), (B 2 (D), 11260.21), (B 11 (D), 12308.33), (B 13 (D), 12277.9), (B 14 (D), 11652.08), (B 22 (D), 11935.05), (B 142 (D), 10476.67), (B 132 (D), 10476.67), (B 223 (D), 20339.38), (B 113 (D), 12387.98), (B 144 (D), 12401.97), (B 112 (D), 12308.39), (B 222 (D), 11947.39), (B 114 (D), 12313.63), (B 221 (D), 12184.46), (B 111 (D), 12308.33), (B 1132 (D), 12559.71), (B 2211 (D), 0), (B 1131 (D), 11790.748), (B 1441 (D), 12443.85), (B 11321 (D), 12559.71), (B 11311 (D), 12490.75), (B 11322 (D), 11338.30)}. and V 5 = φ. 3.5. t = 3; 3.2D 1 +D 2 > 280 from set A 2 and t = 6; 1.7D 1 +3D 2 280 from set A 1 subject to D1 = 70.89, D 2 = 53.16 is binding. i = 6. 3.6. For the binding constraint which belongs to set A 2, the candidate basis are defined as follow: B 113221 (D) = B (D) {y 22 } + {x 03 } = {x 01, x 02, x 03, z 25, z 26, x 06, x 11, x 12, x 13, x 14, x 15, x 16, x 21, x 22, x 23, y 13, x 25, x 26 }

FIXED PRICING AND PRODUCTION PLANNING 145 t = 6 : α(6, 1) : max{t 6; z 1t / B(D)} = 6 α(6, 2) : max{t 6; z 2t / B(D)} = 4 τ (6) : min{α(6, j); j = 1, 2} = 4 a(3) : {j : α(6, j) = τ (6) and s j h j s i h i for i j} = 2 B 113222 (D) = B (D) {z 25 } + {y 23 } = {x 01, x 02, y 22, y 23, z 26, x 06, x 11, x 12, x 13, x 14, x 15, x 16, x 21, x 22, x 23, y 13, x 25, x 26 } 3.7. Candidate B 113221 (D) is like B 221 (D) and candidate B 113222 (D) is like B 1132 (D) in matrix POS. So set V 6 is still not constructed. 4. i = 5 and set V 5 is empty now. 5. i = 6 and set V 6 has not been constructed. So the step 12 and further steps of the main algorithm should be executed. 6. The biggest value of π(d) in POS and the corresponding D and basis for that is as follow: D 1 = 58.6, D 2 = 67.72 B 1132 π(d) = 12559.71

146 LOU CACCETTA AND ELHAM MARDANEH 7. The optimal price for each product is P 1 (D 1 ) = 30 0.2D 1 = 30 0.2(58.6) = 18.28 P 2 (D 2 ) = 30 0.2D 2 = 30 0.2(67.72) = 16.45 The optimal values of x, y and z variables corresponding to the optimal basis are: x 11 = 0.6D 1 = 0.6(58.6) = 35.16 x 12 = 0.5D 1 = 0.5(58.6) = 29.3 x 13 = 3.2D 1 140 = 3.2(58.6) 140 = 47.52 x 14 = 140 x 15 = 1.5D 1 = 1.5(58.6) = 87.9 x 16 = 0.2D 1 = 0.2(58.6) = 11.72 x 21 = 67.72 x 22 = 67.72 x 23 = 280 3.2D 1 = 280 3.2(58.6) = 92.48 y 13 = 3D 1 140 = 3(58.6) 140 = 35.8 x 25 = 140 1.5D 1 = 140 1.5(58.6) = 52.1 x 26 = 1.5D 1 + 2D 2 140 = 1.5(58.6) + 2(67.72) 140 = 83.34 y 22 = 3.2D 1 + 2D 2 280 = 3.2(58.6) + 2(67.72) 280 = 42.96 y 23 = 67.72 z 26 = 1.5D 1 + D 2 140 = 1.5(58.6) + 67.72 140 = 15.62 5. Conclusion. In this paper we have presented a mathematical programming model for determining the optimal production and constant pricing policy for a finite time horizon multiproduct production system with capacity constraints. Our model allows for backorders. Demand for each product is deterministic and dependent on its price, and the production set up cost is negligible. The solution strategy to approach the specified problem is an iterative two stage algorithm. The algorithm solves the nonlinear programming problem only under linear constraints, although keeps the nonlinear constraints feasibility. The first stage finds the value of a Linear Programming s objective function in terms of the main problems decision variables and in the second stage a Non-Linear Programming problem is solved subject to a linear constraint set. At last, a detailed numerical example has been presented to implement the solution strategy. REFERENCES [1] Adida and Perakis, A robust optimisation approach to dynamic pricing and inventory control with no backorders, Mathematical Programming, Ser. B, 107 (2006), 97 129. [2] Adida and Perakis, A nonlinear continuous time optimal control model of dynamic pricing and inventory control with no backorders, Published online in Wiley InterScience, (2007). [3] Gallego and van Ryzin, Optimal dynamic pricing of inventories with stochastic demand over finite horizon, Management Science, 40 (1994), 999 1020. [4] Gilbert, Coordination of pricing and multiple-period production across multiple constant priced goods, Management Science, 46 (2000), 1602 1616.

FIXED PRICING AND PRODUCTION PLANNING 147 [5] Gilbert, Coordination of pricing and multiperiod production for constant priced goods, European Journal of Operation Research, 114 (1999), 330 337. [6] Kunreuther, Howard and Linus Schrage, Joint pricing and inventory decisions for constant priced items, Management Science, 19 (1973), 732 738. [7] Maglaras and Meissner, Dynamic pricing strategies for multiproduct revenue management problems, Manufacturing and Service Operations Management, 8 (2006), 136 148. [8] Shen, Simchi-Levi and Wu, Handbook of qualitative supply chain analysis: Modeling in the E-business Era, (2004), 335 392. Received March 2009; 1st revision March 2009; 2nd revision August 2009. E-mail address: L.Caccetta@exchange.curtin.edu.au E-mail address: elham.mardaneh@postgrad.curtin.edu.au