Chapter 16

Introduction to Optimization Models: General Formulations and Business Modeling

Abstract

This chapter introduces and shows the main concepts related to optimization models, focusing especially on the modeling of linear programming problems. First of all, we identify the main elements contained in a linear programming model. The general formulation of a linear programming model is then described, as well as the standard and canonical forms. The hypotheses of a linear programming model are also presented. Finally, several business problems are modeled by linear programming.

Keywords

Optimization models; Linear programming; General formulation; Standard form; Canonical form; Business modeling

Education is the most powerful weapon which you can use to change the world.

Nelson Mandela

16.1 Introduction to Optimization Models

Optimization models are being used to solve problems in several industrial and commercial sectors (strategy, marketing, finance, operations and logistics, human resources, among others), to make decisions on the most effective use of resources.

This chapter describes how optimization models can help researchers and managers in the decision-making process.

First of all, it is important to study the main concepts involved in this process.

There are many definitions for the concept of decision. One of them is that decision making refers to the analysis process of many alternatives available of the course of action the person will have to follow, or rather, the process resulting in the selection of a belief or a course of action among several alternative possibilities. Some examples of decisions can be listed here: choosing one location among many others that are available, determining the best stock portfolio, choosing one among several alternatives that balance the company’s production resources, such as, personnel available, hiring, firing, and inventory.

Thus, we can see that the organization’s goals are directly linked to the decision-making process. In order to minimize the uncertainties, risks, and complexities that are inherent to the process and aiming at making the most effective decision among the several alternatives available, the value and quality of the information available becomes essential. Communication among the stakeholders involved in the process, during the information collection phase, as well as when defining the objective and the reasoning of the group, also influence the decisions to be made. And it is exactly with greater focus on an effective decision-making process, considering the several interfaces and exogeneities of systems and markets, that optimization models insert themselves as a field of knowledge, in order to provide to the decision-making agent a greater foundation and better knowledge of the problem being analyzed, be it in finance, economics, logistics, or marketing.

On the other hand, according to Lisboa (2002), a model is a simplified representation of a real system. It can be an existing project or a future project. In the former, we intend to replicate the operations of a real existing system, in order to increase productivity. In the latter, the main goal is to define the ideal structure of the future system.

The behavior of a real system is influenced by several variables involved in the decision-making process. Due to the high complexity of this system, it becomes necessary to simplify it, from a model, in such a way that the main variables involved in the system or project that we aim to understand or control are considered in its construction, as shown in Fig. 16.1.

Fig. 16.1
Fig. 16.1 Modeling from a real system. Source: Andrade, E.L., 2015. Introdução à Pesquisa Operacional: Métodos e Modelos Para Análise de Decisões, fifth ed. LTC, Rio de Janeiro.

A model is made of three main elements: (a) decision and parameter variables; (b) an objective function, and (c) constraints.

  1. (a) Decision and parameter variables:

Decision variables are unidentified, or unknown values, which will be determined by solving the model. The optimization models studied consider the following decision variable measurement and precision scales: continuous, discrete, or binary. Decision variables should assume non-negative values. The types of variables and their respective measurement and precision scales were studied in Chapter 2.

Parameters are the previously known fixed values of the problem. As examples of parameters within a mathematical model, we can mention the: (a) demand for each product for a production mix problem; (b) variable cost to produce a certain kind of furniture; (c) profit or cost per unit of product manufactured; (d) cost per employee hired; (e) unit contribution margin whenever a certain electrical appliance is manufactured and sold.

  1. (b) Objective function:

The objective function is a mathematical function that determines the target value that we intend to achieve or the quality of the solution, based on decision variables and on parameters. It can be a maximization function (profit, revenue, usefulness, service level, wealth, life expectancy, among other attributes) or a minimization function (cost, risk, error, among others).

As examples, we can mention the: (a) minimization of the total production cost of several types of chocolates; (b) minimization of the credit risk in a client portfolio; (c) minimization of the number of employees involved in a certain service; (d) maximization of the return on investment in stock and fixed income funds; (e) maximization of the net profit in the production of several types of soft drinks.

  1. (c) Constraints:

Constraints can be defined as a set of equations (mathematical expressions of equality) and inequalities (mathematical expressions of inequality) that the decision variables of the model should meet. Constraints are added to the model in order to consider the system’s physical limitations, and they impact the values of the decision variables directly.

As examples of constraints to be considered in a mathematical model, we can mention: (a) maximum production capacity; (b) maximum risk a certain investor is willing to take; (c) maximum number of vehicles available; (d) minimum acceptable demand for a product.

Modeling a decision-making process has the advantage of forcing decision makers to clearly define their goals. Furthermore, it facilitates the identification and storing of the different decisions that impact the goals, it allows us to define the main variables involved in the decision-making process and the system’s own limitations, besides allowing greater interaction among the work group.

Optimization models can be divided into: linear programming, network programming, integer programming, nonlinear programming, goal or multiobjective programming, and dynamic programming (see Fig. 16.2). In this chapter, we will discuss the modeling of linear programming problems. The solution of linear programming models will be presented in Chapter 17. Now, network programming and integer programming models will be studied in Chapters 18 and 19, respectively. Nonlinear programming, multiobjective programming, and dynamic programming models are not the focus of this book, but can be found in Belfiore and Fávero (2012, 2013).

Fig. 16.2
Fig. 16.2 Classification of optimization models.

16.2 Introduction to Linear Programming Models

In a linear programming problem (LP), the model’s objective function and all its constraints are represented by linear functions. Moreover, all the decision variables must be continuous, that is, they should assume any values in an interval with real numbers. The main goal is to maximize or minimize a certain linear function of decision variables, subject to a set of constraints represented by linear equations or inequalities, including the non-negativity ones of the decision variables. After constructing the mathematical model that represents the real LP problem being studied, the next step is to determine the optimal solution for the model, which is the one with the highest value (if it is a maximization problem) or the lowest value (if it is a minimization problem) in the objective function and meets the linear constraints established. Many algorithms or methods can be applied to find the optimal solution for the model; however, the Simplex method is the most well known and the most common.

Since George B. Dantzig developed the Simplex method in 1947, LP has been used to optimize real problems in several sectors. As examples, we can mention trade, services, banking, transportation, automobile, aviation, naval, food, beverages, agriculture and livestock, health, real estate, metallurgy, mining, paper and cellulose, electrical energy, oil, gas and fuels, computers, and the communication sector, among others.

Therefore, the use of linear programming techniques in organizational environments has been helping several industries in many countries save millions and sometimes even billions of dollars. According to Winston (2004), a survey with the largest 500 American companies listed by Fortune magazine reported that 85% of the respondents used or had already used the linear programming technique.

16.3 Mathematical Formulation of a General Linear Programming Model

Linear programming problems try to determine optimal values for the decision variables x1, x2, …, xn, which must be continuous, in order to maximize or minimize linear function z, subject to a set of m linear constraints of equality (equations with an = sign) and/or of inequality (inequalities with a ≤ or a ≥ sign).

The solutions that meet all the constraints, including the non-negativity ones of the decision variables, are called feasible solutions. The feasible solution that presents the best value of the objective function is called optimal solution.

The formulation of a general linear programming model can be mathematically represented as:

maxorminz=f(x1,x2,,xn)=c1x1+c2x2++cnxnsubject to:a11x1+a12x2++a1nxn{,=,}b1a21x1+a22x2++a2nxn{,=,}b2am1x1+am2x2++amnxn{,=,}bmx1,x2,,xn0(non-negativity constraint)

si1_e  (16.1)

where:

  • z is the objective function;
  • xj are the decision variables, main or controllable, j = 1, 2, …, n;
  • aij is the constant or coefficient of the ith constraint of the jth variable, i = 1, 2, …, m, j = 1, 2, …, n;
  • bi is the independent term or quantity of resources available of the ith constraint, i = 1, 2, …, m; and
  • cj is the constant or coefficient of the jth variable of the objective function, j = 1, 2, …, n.

16.4 Linear Programming Model in the Standard and Canonical Forms

The previous section presented the general formulation of a linear programming problem. This section discusses the formulation in the standard and canonical forms, in addition to elementary operations that can change the formulation of linear programming problems.

16.4.1 Linear Programming Model in the Standard Form

To solve a linear programming problem, be it by the analytical method or by the Simplex algorithm, the formulation of the model should be in the standard form, that is, it must meet the following requirements:

  •  The independent terms of the constraints must be non-negative;
  •  All the constraints must be represented by linear equations and presented as an equality;
  •  The decision variables must be non-negative.

The standard form can be mathematically represented as:

maxorminz=f(x1,x2,,xn)=c1x1+c2x2++cnxnsubject to:a11x1+a12x2++a1nxn=b1a21x1+a22x2++a2nxn=b2am1x1+am2x2++amnxn=bmxj0,j=1,2,,n

si2_e  (16.2)

The standard linear programming problem can also be written in matrix form:

minf(x)=cxsubject to:Ax=bx0

si3_e

where:

A=[a11a12a1na21a22a2nam1am2amn],x=[x1x2xn],b=[b1b2bm],c=[c1c2cn],0=[0000]

si4_e

16.4.2 Linear Programming Model in the Canonical Form

In a linear programming model in the canonical form, the constraints must be presented as inequalities, and z can be a maximization or a minimization objective function. If z is a maximization function, all the constraints must be represented with a ≤ sign. If z is a minimization function, the constraints should have a ≥ sign.

For a maximization problem, the canonical form can be mathematically represented as:

maxz=f(x1,x2,,xn)=c1x1+c2x2++cnxnsubject to:a11x1+a12x2++a1nxnb1a21x1+a22x2++a2nxnb2am1x1+am2x2++amnxnbmxj0,j=1,2,,n

si5_e  (16.3)

Now, if it is a minimization problem, the canonical form becomes:

minz=f(x1,x2,,xn)=c1x1+c2x2++cnxnsubject to:a11x1+a12x2++a1nxnb1a21x1+a22x2++a2nxnb2am1x1+am2x2++amnxnbmxj0,j=1,2,,n

si6_e  (16.4)

16.4.3 Transformations Into the Standard or Canonical Form

In order for a linear programming problem to have one of the forms presented in Sections 16.4.1 and 16.4.2, some elementary operations can be carried out from a general formulation, as described here.

  1. (1) A standard maximization problem can be transformed into a minimization linear programming problem:

    maxz=f(x1,x2,,xn)minz=f(x1,x2,,xn)

    si7_e  (16.5)


    Analogously, a minimization problem can be transformed into a maximization problem:

    minz=f(x1,x2,,xn)maxz=f(x1,x2,,xn)

    si8_e  (16.6)

  1. (2) An inequality constraint of the ≤ type can be transformed into another one of the ≥ type by multiplying both sides by (− 1):
    ai1x1 + ai2x2 + ⋯ + ainxn ≤ bi is equivalent to

    ai1x1ai2x2ainxnbi

    si9_e  (16.7)


    Analogously, an inequality constraint of the ≥ type can be transformed into another one of the ≤ type:
    ai1x1 + ai2x2 + ⋯ + ainxn ≥ bi is equivalent to

    ai1x1ai2x2ainxnbi

    si10_e  (16.8)

  1. (3) An equality constraint can be transformed into two inequality constraints:
    ai1x1 + ai2x2 + ⋯ + ainxn = bi is equivalent to

    {ai1x1+ai2x2++ainxnbiai1x1+ai2x2++ainxnbi

    si11_e  (16.9)

  1. (4) An inequality constraint of the ≤ type can be rewritten as an expression of equality, considering the inclusion of a new non-negative variable on the left-hand side (LHS), xk ≥ 0, called a slack variable:
    ai1x1+ai2x2++ainxnbisi12_e is equivalent to

    ai1x1+ai2x2++ainxn+xk=bi

    si13_e  (16.10)


    Analogously, an inequality constraint of the ≥ type can also be transformed into an expression of equality by subtracting a new non-negative variable from the left-hand side, xk ≥ 0, called a surplus variable:
    a11x1 + a12x2 + ⋯ + a1nxn ≥ b1 is equivalent to

    ai1x1+ai2x2++ainxnxk=bi

    si14_e  (16.11)

  1. (5) An xj variable that is unrestricted in sign, called a free variable, can be expressed as the difference between two non-negative variables:

    xj=x1jx2j,x1j,x2j0

    si15_e  (16.12)

Example 16.1

For the following linear programming problem, rewrite it in the standard form, starting from a minimization objective function.

maxz=f(x1,x2,x3,x4)=5x1+2x24x3x4subject to:x1+2x2x4122x1+x2+3x36x1free,x2,x3,x40

si16_e

Solution

In order for the model to be rewritten in the standard form, the inequality constraints must be expressed as an equality (Expressions 16.10 and 16.11), and free variable x1 can be expressed as the difference between two nonnegative variables (Expression 16.12). Considering a minimization objective function, we have:

minz=f(x1,x2,x3,x4)=5x11+5x212x2+4x3+x4subject to:x11x21+2x2x4+x5=122x112x21+x2+3x3x6=6x11,x21,x2,x3,x4,x5,x60

si17_e

Example 16.2

Convert the following problem into the canonical form.

maxz=f(x1,x2,x3)=3x1+4x2+5x3subject to:2x1+2x2+4x33203x1+4x2+5x3=580x1,x2,x30

si18_e

In order for the maximization model to be written in the canonical form, the constraints must be expressed as an inequality of the ≤ type. In order to do that, the expression of equality must be transformed into two inequality constraints (Expression 16.9) and the inequalities with the ≥ sign must be multiplied by (− 1), as specified in Expression (16.8). The final model in the canonical form is:

maxz=f(x1,x2,x3)=3x1+4x2+5x3subject to:2x12x24x33203x14x25x35803x1+4x2+5x3580x1,x2,x30

si19_e

16.5 Assumptions of the Linear Programming Model

In a linear programming problem, the objective function and the model constraints must be linear, the decision variables must be continuous (divisible, and they can assume fractional values) and non-negative, and the model parameters must be deterministic, in order to satisfy the following assumptions:

  1. 1. Proportionality
  2. 2. Additivity
  3. 3. Divisibility and non-negativity
  4. 4. Certainty

16.5.1 Proportionality

The proportionality assumption requires that, for each decision variable considered in the model, its contribution regarding the objective function and the model constraints be directly proportional to the value of the decision variable.

Let’s imagine the following example. A company tries to maximize its production of chairs (x1) and tables (x2), and the profit per chair and per table is 4 and 7, respectively. So, objective function z is expressed as max  z = 4x1 + 7x2. Fig. 16.3, adapted from Hillier and Lieberman (2005), shows the contribution of variable x1 to objective function z. We can see that, in order for the proportionality assumption to be respected, for every chair produced, the objective function must increase $4.

Fig. 16.3
Fig. 16.3 Contribution of variable x1 to objective function z.

Let’s imagine that an initial set-up cost of $20 is considered (case 1) until the production of chairs (x1) begins. In this case, the contribution of variable x1 in relation to the objective function would be written as z = 4x1 − 20, instead of z = 4x1, not meeting the proportionality assumption. On the other hand, imagine that there are economies of scale, in a way that production costs diminish and, consequently, the marginal contribution increases, as the total amount produced grows (case 2), also violating the proportionality assumption. In this case, the profit function becomes nonlinear.

In the same way, regarding the constraints, we assume that the aij coefficients or constants are proportional to production level xj.

16.5.2 Additivity

The additivity assumption states that the total value of the objective function or of each constraint function of a linear programming model is expressed by the sum of the individual contributions of each decision variable. Thus, the contribution of each decision variable does not depend on the contribution of the other variables, in a way that there are no crossed terms, both in the objective function and in the model constraints.

Considering the previous example, the objective function is expressed as max  z = 4x1 + 7x2. Through the additivity assumption, the total value of the objective function is obtained through the sum of individual contributions of x1 and x2, that is, z = 4 + 7 = 11. If the objective function is expressed as max  z = 4x1 + 7x2 + x1x2, the additivity assumption is violated (z = 4 + 7 + 1 = 12 for x1, x2 = 1), since the model’s decision variables are interdependent.

In the same way, regarding each model constraint, we assume that the function’s total value is expressed by the sum of each variable’s individual contributions.

16.5.3 Divisibility and Non-negativity

Each one of the decision variables considered in the model can assume any non-negative value within an interval, including fractional values, as long as it meets the model’s constraints. When the variables being studied can only be integers, the model is called integer (linear) programming (ILP or simply IP).

16.5.4 Certainty

This assumption states that the objective function coefficients, the constraint coefficients, and the independent terms of a linear programming model are deterministic (constants and known with certainty).

16.6 Modeling Business Problems Using Linear Programming

This section discusses the description and modeling of the main resource optimization problems that are being studied in linear programming in the fields of engineering, business management, economics, and accounting. They are the production mix problem, capital budgeting, investment portfolio selection, production inventory, and aggregated planning.

16.6.1 Production Mix Problem

The production mix problem aims to find the ideal quantity of certain lines of products to be manufactured that will maximize the company’s results (net profit, total profit, etc.) or minimize the production costs, respecting its limitations as regards productive and market resources (raw materials constraints, maximum production capacity, availability of human resources, maximum and minimum market demand, among others).

When the amount of a certain product to be manufactured can only be an integer (cars, electrical appliances, electronic devices, etc.), we have an integer programming problem (IP). An alternative solution for this kind of problem is to relax or to eliminate the decision variables’ integrality constraint, using a linear programming problem. Luckily, sometimes, the optimal solution to the relaxed problem corresponds to the optimal solution of the original model, that is, it meets the decision variables’ integrality constraints. When the solution of the relaxed problem is not an integer, rounding up or integer programming algorithms must be applied to find the solution for the original problem. Further details can be found in Chapter 19 that discusses integer programming.

Example 16.3

Venix is a toy company and it is reviewing its toy cars and tricycles production planning. The net profit per toy car and tricycle unit produced is US$ 12.00 and US$ 60.00, respectively. The raw materials and input necessary to manufacture each one of these products are outsourced, and the company is in charge of the machining, painting, and assembly processes. The machining process requires 15 minutes of specialized labor per car unit and 30 minutes per tricycle unit produced. The painting process requires 6 minutes of specialized labor per car unit and 45 minutes per tricycle unit produced. Now, the assembly process needs 6 and 24 minutes per car unit and tricycle produced, respectively. Per week, the time available for machining, painting, and assembly is 36, 22, and 15 hours, respectively. The company would like to determine how much it should produce of each product per week, respecting its resource limitations, in order to maximize its weekly net profit. Formulate the linear programming problem that maximizes the company’s net profit.

Solution

First of all, we define the model’s decision variables:

  • xj = amount of product j to be manufactured per week, j = 1, 2.

Therefore, we have:

  • x1 = amount of cars to be manufactured per week.
  • x2 = amount of tricycles to be manufactured per week.

Therefore, we can see that the decision variables should be integers (it is impossible to produce fractional amounts of toy cars or tricycles), so, this is an integer programming (IP) problem. Luckily, in this problem, the integrality constraints can be relaxed or eliminated, since the relaxed problem’s optimal solution still meets the integrality conditions. Thus, the formulation of the problem will be presented as a linear programming (LP) model.

The net profit per toy car unit produced is US$ 12.00, while the net profit per tricycle is US$ 60.00. We are trying to maximize the weekly net profit generated from the amount of cars and tricycles manufactured. Therefore, the objective function can be written as follows:

Fobj=maxz=12x1+60x2

si20_e

Considering that for the machining process, to produce one car and/or one tricycle, we need 15 minutes (0.25 hours) and 30 minutes (0.5 hours) of specialized labor, respectively (0.25x1 + 0.50x2). However, the total labor time for the machining activity cannot be higher than 36 hours/week, which generates the following constraint:

0.25x1+0.5x236

si21_e

Analogously, for the painting activity, one car and/or one tricycle produced requires 6 minutes (0.1 hours) and 45 minutes (0.75 hours) of specialized labor, respectively (0.1x1 + 0.75x2). However, the maximum limit of labor available for this activity is 22 hours/week:

0.1x1+0.75x222

si22_e

Now, the assembly process, to produce one toy car and/or one tricycle, requires 6 minutes (0.1 hours) and 24 minutes (0.4 hours) of labor, respectively (0.1x1 + 0.4x2). The availability of human resources for this activity is 15 hours/week:

0.1x1+0.4x215

si23_e

Finally, we have the non-negativity constraints of the decision variables.

All the model’s constraints are:

  1. (1) Labor availability constraints for all three activities:

    0.25x1+0.5x236(machining)

    si24_e


    0.1x1+0.75x222(painting)

    si25_e

    0.1x1+0.4x215(assembly)

    si26_e

  1. (2) Non-negativity constraint of the decision variables:

    xj0,j=1,2

    si27_e

The model’s complete formulation can be represented as:

maxz=12x1+60x2subject to:0.25x1+0.50x2360.10x1+0.75x2220.10x1+0.40x215xj0,j=1,2

si28_e

The optimal solution can be obtained in graphical form, in analytical form, through the Simplex method, or directly from some software, such as, Solver (in Excel), as presented in the next chapter. The current model’s optimal solution is x1 = 70 (toy cars per week) and x2 = 20 (tricycles per week) with z = 2040 (a weekly net profit of US$ 2040.00).

Example 16.4

Naturelat is a dairy company that manufactures the following products: yogurt, fresh white cheese, Mozzarella, Parmesan, and Provolone. Due to some strategic changes resulting from the competition in the market, the company is redefining its production mix.

To manufacture each one of these five products, three types of raw materials are necessary: raw milk, cream line, and cream. Table 16.E.1 shows the amount of raw materials necessary to manufacture 1 kg of each product.

The daily amount of raw materials available is limited (1200 L of raw milk, 460 L of cream line, and 650 kg of cream).

A daily availability of specialized labor is also limited (170 hours/employee/day). The company needs 0.05 hours/employee to manufacture 1 kg of yogurt, 0.12 hours/employee to manufacture 1 kg of fresh white cheese, 0.09 hours/employee for making Mozzarella, 0.04 hours/employee for Parmesan, and 0.16 hours/employee for Provolone cheese.

Due to contractual clauses, the company needs to produce a minimum daily quantity of 320 kg of yogurt, 380 kg of fresh white cheese, 450 kg of Mozzarella, 240 kg of Parmesan, and 180 kg of Provolone.

The company’s commercial department guarantees that there is enough demand to absorb any production level, regardless of the product.

Table 16.E.2 shows the net profit per unit per product (US$/kg), which is calculated as the difference between the sales price and the total variable costs.

The company aims to determine the quantity of each product it has to manufacture in order to maximize its results. Formulate the linear programming problem that maximizes the result expected.

Table 16.E.1

Raw Materials Necessary to Manufacture 1 kg of Each Product
ProductRaw Milk (l)Cream-Line (l)Cream (kg)
Yogurt0.700.160.25
Fresh white cheese0.400.220.33
Mozzarella0.400.320.33
Parmesan0.600.190.40
Provolone0.600.230.47

Unlabelled Table

Table 16.E.2

Net Profit Per Product Unit (US$/kg)
ProductSales Price (US$/kg)Total Variable Costs (US$/kg)Contribution Margin (US$/kg)
Yogurt3.202.400.80
Fresh white cheese4.103.400.70
Mozzarella6.305.151.15
Parmesan8.256.951.30
Provolone7.506.800.70

Unlabelled Table

Solution

First of all, we define the model’s decision variables:

  • xj = amount of product j (in kg) to be manufactured per day, j = 1, 2, …, 5.

Therefore, we have:

x1 = amount of yogurt (in kg) to be manufactured per day.

x2 = amount of fresh white cheese (in kg) to be manufactured per day.

x3 = amount of Mozzarella (in kg) to be manufactured per day.

x4 = amount of Parmesan (in kg) to be manufactured per day.

x5 = amount of Provolone (in kg) to be manufactured per day.

The total net profit per product is the result obtained by multiplying the net profit per unit (in this case US$/kg) by the respective quantities sold. The problem’s objective function tries to maximize the total net profit of all the company’s products, which is obtained by adding the total net profits of each product:

Fobj=maxz=0.80x1+0.70x2+1.15x3+1.30x4+0.70x5

si29_e

Regarding the raw materials availability constraints, let’s first consider the amount of raw milk (liters) used daily to manufacture each product. To manufacture 1 kg of yogurt, the company needs 0.7 L of raw milk (0.70x1 represents the total amount of raw milk used every day to manufacture yogurt). The amount of raw milk (liters) used daily to manufacture fresh white cheese is represented by 0.40x2. Analogously, their daily use of raw milk to manufacture Mozzarella is 0.40x3, 0.60x4 to manufacture Parmesan cheese and 0.60x5 to make Provolone. The total amount of raw milk (liters) used daily to manufacture all of these products can be represented by 0.70x1 + 0.40x2 + 0.40x3 + 0.60x4 + 0.60x5. However, this total cannot be higher than 1200 L (daily amount of raw milk available) and this constraint is represented by:

0.70x1+0.40x2+0.40x3+0.60x4+0.60x51200

si30_e

Likewise, the quantity of cream line (in liters) used daily to manufacture yogurt, fresh white cheese, Mozzarella, Parmesan, and Provolone cheese cannot be higher than the maximum amount available, which is 460 L:

0.16x1+0.22x2+0.32x3+0.19x4+0.23x5460

si31_e

Still with regard to the raw materials availability constraints, in the case of cream, the quantity (kg) used daily to manufacture the five products cannot be higher than the maximum quantity available, which is 650 kg:

0.25x1+0.33x2+0.33x3+0.40x4+0.47x5650

si32_e

We must also take the daily availability of specialized labor into consideration. Each kilo of yogurt manufactured requires 0.05 hours-employee, so, 0.05x1 represents the total of hours-employee used daily in the manufacturing of yogurt. The number of hours-employee used daily to manufacture fresh white cheese is represented by 0.12x2. Similarly, 0.09x3 hours-employee are used daily to make Mozzarella. 0.04x4 to produce Parmesan and 0.16x5 to make Provolone. The total number of hours-employee used daily to manufacture all these products can be represented by 0.05x1 + 0.12x2 + 0.09x3 + 0.04x4 + 0.16x5. However, this total cannot be higher than 170 hours-employee, which is the availability of specialized human resources per day:

0.05x1+0.12x2+0.09x3+0.04x4+0.16x5170

si33_e

We must finally consider the daily minimum market demand constraint for each product: 320 kg for yogurt (x1 ≥ 320), 380 for fresh white cheese (x2 ≥ 380), 450 for Mozzarella cheese (x3 ≥ 450), 240 for Parmesan (x4 ≥ 240), and 180 for Provolone (x5 ≥ 180), besides the non-negativity constraint of the decision variables.

All the constraints of the model can be represented as:

  1. (1) Amount of raw materials used daily to produce yogurt, fresh white cheese, Mozzarella, Parmesan, and Provolone:

0.70x1+0.40x2+0.40x3+0.60x4+0.60x51200(rawmilk)

si34_e

0.16x1+0.22x2+0.32x3+0.19x4+0.23x5460(cream line)

si35_e

0.25x1+0.33x2+0.33x3+0.40x4+0.47x5650(cream)

si36_e

(2) Daily availability of specialized labor for producing yogurt, fresh white cheese, Mozzarella, Parmesan, and Provolone:

0.05x1+0.12x2+0.09x3+0.04x4+0.16x5170

si33_e

  1. (3) Daily minimum demand for each product:

x1320(yogurt)

si38_e

x2380(fresh white cheese)

si39_e

x3450(Mozzarella)

si40_e

x4240(Parmesan)

si41_e

x5180(Provolone)

si42_e

  1. (4) Non-negativity constraints of the decision variables:

xj0,j=1,2,,5

si43_e

The complete problem is modeled here:

maxz=0.80x1+0.70x2+1.15x3+1.30x4+0.70x5subject to:0.70x1+0.40x2+0.40x3+0.60x4+0.60x512000.16x1+0.22x2+0.32x3+0.19x4+0.23x54600.25x1+0.33x2+0.33x3+0.40x4+0.47x56500.05x1+0.12x2+0.09x3+0.04x4+0.16x5170x1320x2380x3450x4240x5180xj0,j=1,,5

si44_e

On Solver (in Excel), the model’s optimal solution is x1 = 320 (kg/day of yogurt), x2 = 380 (kg/day of fresh white cheese), x3 = 690.96 (kg/day of Mozzarella), x4 = 329.95 (kg/day of Parmesan), and x5 = 180 (kg/day of Provolone) with z = 1871.55 (total daily contribution margin of US$ 1871.55).

16.6.2 Blending or Mixing Problem

The blending or mixing problem aims to find the solution with the minimum cost or maximum profit, starting from the combination of several ingredients in order to produce one or many products. The raw materials can be ore, metals, chemical products, oil or crude oil, water, while the final products can be metal ingots, steel, paint, gasoline, or other chemical products.

Among several mixing problems, we can mention a few examples:

  1. 1. Mixing many types of oil or crude oil to produce different types of gasoline.
  2. 2. Mixing chemical products to create other products.
  3. 3. Mixing different types of paper to generate recycled paper.

Example 16.5

Petrisul is an oil refinery that uses three types of crude oil (oil 1, oil 2, and oil 3) to produce three types of gasoline: regular, super, and extra.

To ensure its quality, each type of gasoline requires certain specifications based on the composition of several types of crude oil, as shown in Table 16.E.3.

In order to meet its clients’ demands, the refinery needs to produce at least 5000 barrels a day of regular gasoline and 3000 barrels a day of super and extra gasoline. The daily capacity available is 10,000 barrels of oil 1; 8000 of oil 2; and 7000 of oil 3. The refinery can produce up to 20,000 barrels of gasoline a day.

The refinery makes a profit of $5 per barrel of regular gasoline produced, $7 per barrel of super gasoline, and $8 per barrel of extra gasoline. The costs per barrel of crude oil 1, 2, and 3 are $2, $3, and $3, respectively. Formulate the linear programming problem aiming to maximize the company’s daily profit.

Table 16.E.3

Specifications for Each Type of Gasoline
Type of GasolineSpecifications
RegularNot more than 70% of oil 1
SuperNot more than 50% of oil 1
Not less than 10% of oil 2
ExtraNot more than 50% of oil 2
Not less than 40% of oil 3

Solution

First of all, we must define the model’s decision variables:

  • xij = barrels of crude oil i used daily to produce gasoline j, i = 1, 2, 3; j = 1, 2, 3.

Therefore, we have:

  • Daily production of regular gasoline = x11 + x21 + x31
  • Daily production of super gasoline = x12 + x22 + x32
  • Daily production of extra gasoline = x13 + x23 + x33
  • Barrels of crude oil 1 used daily = x11 + x12 + x13
  • Barrels of crude oil 2 used daily = x21 + x22 + x23
  • Barrels of crude oil 3 used daily = x31 + x32 + x33

The problem’s objective function tries to maximize the refinery’s daily profit (revenue—costs). The model constraints should guarantee that the minimum specifications required for each type of gasoline are taken into consideration, that its clients’ demands are being met, and that the gasoline production and the crude oil supply capacities are being respected.

The daily revenue per barrel of gasoline produced is:

=5(x11+x21+x31)+7(x12+x22+x32)+8(x13+x23+x33)

si45_e

On the other hand, the daily costs per barrel of crude oil purchased are:

=2(x11+x12+x13)+3(x21+x22+x23)+3(x31+x32+x33)

si46_e

The objective function can be written as:

Fobj=maxz=(52)x11+(53)x21+(53)x31+(72)x12+(73)x22+(73)x32+(82)x13+(83)x23+(83)x33

si47_e

All the model’s constraints are:

  1. (1) The regular gasoline should contain a maximum of 70% of oil 1:

    x11x11+x21+x310.70

    si48_e


    which can be rewritten as:

    0.30x110.70x210.70x310

    si49_e

  1. (2) The super gasoline should contain a maximum of 50% of oil 1:

x12x12+x22+x320.50

si50_e

which can be rewritten as:

0.50x120.50x220.50x320

si51_e

  1. (3) The super gasoline should contain at least 10% of oil 2:

    x22x12+x22+x320.10

    si52_e


    which can be rewritten as:

    0.10x12+0.90x220.10x320

    si53_e

  1. (4) The extra gasoline should contain a maximum of 50% of oil 2:

    x23x13+x23+x330.50

    si54_e


    which can be rewritten as:

    0.50x13+0.50x230.50x330

    si55_e

  1. (5) The extra gasoline should contain at least 40% of oil 3:

    x33x13+x23+x330.40

    si56_e


    which can be rewritten as:

    0.40x130.40x23+0.60x330

    si57_e

  1. (6) The daily demands for regular, super, and extra gasoline must be met:

x11+x21+x315000(regular)

si58_e

x12+x22+x323000(super)

si59_e

x13+x23+x333000(extra)

si60_e

  1. (7) The maximum number of barrels of crude oil 1 (10,000), crude oil 2 (8000), and crude oil 3 (7000) available daily must be respected:

x11+x12+x1310,000(crude oil1)

si61_e

x21+x22+x238000(crude oil2)

si62_e

x31+x32+x337000(crude oil3)

si63_e

  1. (8) The refinery’s daily production capacity is 20,000 barrels of gasoline a day:

    x11+x21+x31+x12+x22+x32+x13+x23+x3320,000

    si64_e

  1. (9) The model’s decision variables are non-negative:

    xij0,i=1,2,3;j=1,2,3

    si65_e


    The complete problem is modeled here:

    Fobj=maxz=3x11+2x21+2x31+5x12+4x22+4x32+6x13+5x23+5x33subject to:0.30x110.70x210.70x3100.50x120.50x220.50x3200.10x12+0.90x220.10x3200.50x13+0.50x230.50x3300.40x130.40x23+0.60x330x11+x21+x315000x12+x22+x323000x13+x23+x333000x11+x12+x1310,000x21+x22+x238000x31+x32+x337000x11+x21+x31+x12+x22+x32+x13+x23+x3320,000x11,x21,x31,x12,x22,x32,x13,x23,x330

    si66_e


    By using Solver, the model’s optimal solution is x11 = 1300, x21 = 3700, x31 = 0, x12 = 1500, x22 = 1500, x32 = 0, x13 = 7200, x23 = 0, x33 = 4800 with z = 92,000 (a total daily profit of US$ 92,000.00).

16.6.3 Diet Problem

The diet problem is a classic linear programming problem that tries to determine the best food combinations to be ingested per meal, with the lowest cost possible, meeting a person’s nutritional needs.

Several nutrients can be analyzed as, for example: calories, protein, fat, carbs, fibers, calcium, iron, magnesium, phosphorus, potassium, sodium, zinc, copper, manganese, selenium, vitamin A, vitamin C, vitamin B1, vitamin B2, vitamin B12, niacin, folic acid, cholesterol, among others (Pessôa et al., 2009).

Example 16.6

Anemia is a disease caused by low levels of hemoglobin in the blood, protein is responsible for carrying oxygen. According to Dr. Adriana Ferreira, a hematologist, iron-deficiency anemia is the most common kind of anemia, and it is caused by the lack of iron in the body. In order to prevent it, we must adopt a diet that is rich in iron, vitamin A, vitamin B12 and folic acid. These nutrients can be found in several kinds of food, such as, spinach, broccoli, watercress, tomatoes, carrots, eggs, beans, chickpeas, soybeans, beef, liver, and fish. Table 16.E.4 shows the daily needs of each nutrient, the respective quantity in each one of the food items, and their price. In order to prevent its patients from having this kind of anemia, Hospital Metropolis is studying a new diet. The goal is to choose the ingredients with the lowest possible costs. These ingredients will be a part of both main daily meals (lunch and dinner), in a way that 100% of a person’s daily needs of each of these nutrients will be met in both meals. In addition, the total amount ingested in both meals cannot be higher than 1.5 kg.

Table 16.E.4

Nutrients, Daily Needs, and Cost Per Food Item
100 g Servings
Iron (mg)Vitamin A (IU)Vitamin B12 (mcg)Folic Acid (mg)Price (US$)
Spinach3.00740000.4000.30
Broccoli1.20138.800.5000.20
Watercress0.20472500.1000.18
Tomatoes0.49113000.2500.16
Carrots1.0014,5000.100.0050.30
Eggs0.9032151.000.0500.30
Beans7.10000.0560.40
Chickpeas4.864100.4000.40
Soybeans3.00100000.0800.45
Beef1.5003.000.0600.75
Liver10.0032,000100.000.3800.80
Fish1.101402.140.0020.85
Daily intake8450020.4

Unlabelled Table

Solution

First of all, we have to define the model’s decision variables:

  • xj = quantity (kg) of food j consumed daily, j = 1, 2, …, 12.

Therefore, we have:

  • x1 = quantity (kg) of spinach consumed daily.
  • x2 = quantity (kg) of broccoli consumed daily.
  • x3 = quantity (kg) of watercress consumed daily.
  • si67_e

  • x12 = quantity (kg) of fish consumed daily.

The model’s objective function tries to minimize the total costs spent with food and it may be written as follows:

Fobj=minz=3x1+2x2+1.8x3+1.6x4+3x5+3x6+4x7+4x8+4.5x9+7.5x10+8x11+8.5x12

si68_e

The constraints related to the minimum daily intake of each nutrient must be met. Furthermore, we must consider the maximum weight constraint allowed in both meals.

  1. (1) The minimum daily intake of iron must be met:

    30x1+12x2+2x3+4.9x4+10x5+9x6+71x7+48.6x8+30x9+15x10+100x11+11x1280

    si69_e

  1. (2) The minimum daily intake of vitamin A must be met:

    74,000x1+1388x2+47,250x3+11,300x4+145,000x5+32,150x6+410x8+10,000x9+320,000x11+1400x1245,000

    si70_e

  1. (3) The minimum daily intake of vitamin B12 must be met:

    x5+10x6+30x10+1000x11+21.4x1220

    si71_e

  1. (4) The minimum daily intake of folic acid must be met:

    4x1+5x2+x3+2.5x4+0.05x5+0.5x6+0.56x7+4x8+0.8x9+0.6x10+3.8x11+0.02x124

    si72_e

  1. (5) The total amount consumed in both meals cannot be higher than 1.5 kg:

    x1+x2+x3+x4+x5+x6+x7+x8+x9+x10+x11+x121.5

    si73_e

  1. (6) The model’s decision variables are nonnegative:

    x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,x11,x120

    si74_e

The complete model can be described as follows:

Fobj=minz=3x1+2x2+1.8x3+1.6x4+3x5+3x6+4x7+4x8+4.5x9+7.5x10+8x11+8.5x12s.t.30x1+12x2+2x3++15x10++100x11+11x128074,000x1+1388x2+47,250x3+++320,000x11+1400x1245,000++30x10+1000x11+21.40x12204x1+5x2+x3++0.6x10+3.8x11+0.02x124x1+x2+x3++x10+x11+x121,5xj0,j=1,,12

si75_e

The model’s optimal solution is x2 = 0.427 (kg of broccoli), x7 = 0.698 (kg of beans), x8 = 0.237 (kg of chickpeas), x11 = 0.138 (kg of liver), x1, x3, x4, x5, x6, x9, x10, x12 = 0 with z = 5.70 (total cost of US$ 5.70).

16.6.4 Capital Budget Problems

Optimization models, including linear programming, are being widely used to solve several financial investment problems, such as, the capital budgeting problem, investment or portfolio selection, cash flow management, risk analysis, among others. This section discusses a linear programming model that can be used to solve a capital budgeting problem. In the following section, we will discuss the investment portfolio selection problem.

The capital budgeting problem aims at selecting, from a set of alternatives, financially feasible investment projects, respecting the investing company’s budgetary constraints.

The capital budgeting problem uses the concept of NPV (net present value) that aims to define which investment is the most attractive. NPV is defined as the present value (period t = 0) of the cash inflows (receivables) minus the cash outflows (payables/investment) for each period t = 0, 1,   …,   n. Considering different investment projects, the most attractive is the one that has the highest net present value.

The calculation of the NPV is:

NPV=nt=1CIFt(1+i)tnt=1COFt(1+i)t

si76_e  (16.13)

where:

  • CIFt = cash inflow at the beginning of the period t = 1, …, n
  • COFt = cash outflow at the beginning of the period t = 1, …, n
  • i = rate of return

We will analyze two types of investment (A and B) in order to determine which one is the most attractive. Investment A requires an initial investment of US$ 100,000 plus a US$ 50,000 investment in 1 year, with a US$ 200,000 return in 2 years. The interest rate is 12% per year. The calculation of the NPV of investment A is:

NPV=100,00050,000(1+0.12)1+200,000(1+0.12)2NPV=14,795.92

si77_e

Investment B requires an initial investment of US$ 150,000 plus a US$ 70,000 investment in 2 years, with a US$ 130,000 return in 1 year, and US$ 120,000 in 3 years. The interest rate is 12% per year. The NPV of investment B is:

NPV=150,000+130,000(1+0.12)170,000(1+0.12)2+120,000(1+0.12)3NPV=4318.51

si78_e

Therefore, we can see that investment B is not profitable. So, investment A is the most attractive.

The example showed us how to calculate the NPV of one or more investments and, from that, how to determine which one was the most attractive. However, many times, the resources available are limited, so, to choose one or more investment projects, a linear programming or a binary programming model should be used.

Example 16.7

A farmer is analyzing five types of investment based on different crops (soybeans, cassava, corn, wheat, and beans) for his new farm, which has a total of 1000 hectares available. Each crop requires capital investments that will result in future benefits. The initial investment and the payables in the following 3 years for each crop are specified in Table 16.E.5. The return expected in the following 3 years for each crop investment is specified in Table 16.E.6. The farmer has limited resources that he can invest in each period (last column of Table 16.E.5), and he expects a minimum cash flow each period (last column of Table 16.E.6). The interest rate for each crop is 10% per year. From the total area available for the investment, the farmer would like to determine how much he should invest in each crop (in hectares), in order to maximize the NPV of the set of investment projects being analyzed, respecting the minimum expected flows and the maximum outflows in each period. Elaborate the farmer’s linear programming problem.

Table 16.E.5

Cash Outflow for Each Year
YearInitial Investment/Payables for Each Year (US$ Thousands Per Hectare)Maximum Cash Outflow (US$ Thousands)
SoybeansCassavaCornWheatBeans
05.004.003.503.503.003800.00
11.001.000.501.500.503500.00
21.200.500.500.501.003200.00
30.800.501.000.500.502500.00

Unlabelled Table

Table 16.E.6

Cash Inflow for Each Year
YearExpected Return for Each Year (US$ Thousands Per Hectare)Minimum Cash Inflow (US$ Thousands)
SoybeansCassavaCornWheatBeans
15.004.202.206.603.006000.00
27.706.503.708.003.505000.00
37.907.202.906.104.106500.00

Unlabelled Table

Solution

First of all, we have to define the model’s decision variables:

  • xj = total area (in hectares) to be invested in planting crop j, j = 1, 2, …, 5.

Therefore, we have:

  • x1 = total area (in hectares) to be invested in planting soybeans.
  • x2 = total area (in hectares) to be invested in planting cassava.
  • x3 = total area (in hectares) to be invested in planting corn.
  • x4 = total area (in hectares) to be invested in planting wheat.
  • x5 = total area (in hectares) to be invested in planting beans.

The model’s objective function tries to maximize the NPV (US$ thousands) of the set of investments in the crops being analyzed, that is, the sum of the NPV of each crop (US$ thousands per hectare) multiplied by the total area to be invested in the respective crop (hectares). The calculation of the soybean crop NPV (US$ thousands/hectare), according to Expression (16.13), is:

Soybean crop (US$ thousands per hectare)

NPV=5.0(1+0.10)1+7.7(1+0.10)2+7.9(1+0.10)35.01.0(1+0.10)11.2(1+0.10)20.8(1+0.10)3NPV=9.343(US$9342.60/hectare)

si79_e

The calculation of the NPV of the other crops, taking the same procedure into consideration, is listed in Table 16.E.7.

Table 16.E.7

Net Present Value (NPV) of Each Crop
Net Present Value—NPV (US$ Thousands Per Hectare)
SoybeansCassavaCornWheatBeans
9.3438.9022.11811.5424.044

Unlabelled Table

Thus, objective function z can be described as follows:

Fobj=maxz=9.343x1+8.902x2+2.118x3+11.542x4+4.044x5

si80_e

The maximum and minimum cash flow constraints for each year, besides the total area available, must be considered and are shown here.

  1. (1) Maximum capacity available (hectares) for planting the crops:

    x1+x2+x3+x4+x51000

    si81_e

  1. (2) Minimum cash inflow for each year (US$ thousands):

    5.0x1+4.2x2+2.2x3+6.6x4+3.0x56000(1styear)

    si82_e


    7.7x1+6.5x2+3.7x3+8.0x4+3.5x55000(2ndyear)

    si83_e

    7.9x1+7.2x2+2.9x3+6.1x4+4.1x56500(3rdyear)

    si84_e

  1. (3) Maximum outflow for each year (US$ thousands):

    5.0x1+4.0x2+3.5x3+3.5x4+3.0x53800(initialinvestment)

    si85_e


    1.0x1+1.0x2+0.5x3+1.5x4+0.5x53500(1styear)

    si86_e

    1.2x1+0.5x2+0.5x3+0.5x4+1.0x53200(2ndyear)

    si87_e

    0.8x1+0.5x2+1.0x3+0.5x4+0.5x52500(3rdyear)

    si88_e

  1. (4) Non-negativity constraints of the decision variables:

    xj0,j=1,2,,5.

    si89_e

The complete model can be formulated as follows:

maxz=9.343x1+8.902x2+2.118x3+11.542x4+4.044x5subject to:x1+x2+x3+x4+x510005.0x1+4.2x2+2.2x3+6.6x4+3.0x560007.7x1+6.5x2+3.7x3+8.0x4+3.5x550007.9x1+7.2x2+2.9x3+6.1x4+4.1x565005.0x1+4.0x2+3.5x3+3.5x4+3.0x538001.0x1+1.0x2+0.5x3+1.5x4+0.5x535001.2x1+0.5x2+0.5x3+0.5x4+1.0x532000.8x1+0.5x2+1.0x3+0.5x4+0.5x52500xj0,j=1,2,,5

si90_e

The optimal solution of the linear programming model is x1 = 173.33 (hectares for soybeans), x2 = 80 (hectares for cassava), x3 = 0 (hectares for corn), x4 = 746.67 (hectares for wheat), x5 = 0 (hectares for beans) with z = 10, 949.59 (US$ 10,949,590.00).

The example used a linear programming model (LP) to solve the respective capital budgeting problem. However, many times and given a set of investment project alternatives, we try to analyze which project i will be approved (xi = 1) or rejected (xi = 0), which becomes a binary programming (BP) problem since the decision variables are binary. This last case will be discussed in Chapter 19.

16.6.5 Portfolio Selection Problem

Markowitz (1952) developed a mathematical model to optimize portfolios that tries to choose, among a set of financial investments, the best combination that maximizes the portfolio’s expected return and minimizes its risk. The model is a quadratic programming problem that tries to find the portfolio’s efficient frontier. The risks of the portfolio are measured by using the variance of the return on assets, calculated as the sum of the individual variances of each asset and the covariances between the pairs of assets.

Sharpe (1964) proposed a simplified portfolio optimization model aiming at facilitating the calculation of the covariance matrix. Similar to Markowitz’s model, Sharpe’s model also tries to determine the portfolio’s optimal composition that will result in the highest return possible with the lowest risk.

Markowitz’s model requires the extensive calculation of the covariance matrix, so, it is highly complex. In order to facilitate its application, alternative models to Markowitz’s original model have been proposed.

From Markowitz’s (1952) and Sharpe’s (1964) theory, we can develop a linear programming model that determines the investment portfolio’s optimal composition and that minimizes the risks, with an expected level of return. Similarly, we can search for the best portfolio composition that maximizes the portfolio’s expected return, subject to the requirement of a minimum level of this value and to the maximum risk allowed.

Model 1: Maximization of an Investment Portfolio’s Expected Return

A linear programming model that maximizes an investment portfolio’s expected return, subject to the requirement of a minimum level of this value and to a given risk, is proposed.

Model parameters:

  • E(R) = investment portfolio’s expected return
  • μj = expected return of asset j, j = 1, …, n
  • ρ = minimum level required by the investor regarding the portfolio’s expected return
  • xjmax = maximum percentage allowed of asset j to be allocated in the portfolio, j = 1, …, n
  • σj = standard deviation of asset j, j = 1, …, n
  • ˉσsi91_e = the portfolio’s standard deviation or average risk

Decision variables:

  • xj = percentage of asset j allocated in the portfolio, j = 1, …, n

General formulation:

maxE(R)=nj=1μjxjs.t.nj=1xj=1(1)nj=1μjxjρ(2)xjxmaxj,j=1,,n(3)nj=1σjxjˉσ(4)xj0,j=1,,n(5)

si92_e  (16.14)

The model’s objective function tries to maximize the average return of an investment portfolio with n financial assets.

Constraint 1 guarantees that all the capital will be invested.

Constraint 2 guarantees that the portfolio’s average return will achieve the minimum limit required by the investor in the value of ρ.

Constraint 3 states that the percentage of asset i allocated in the portfolio cannot be higher than xjmax, so that the portfolio can be diversified and its risk minimized. It is important to mention that some expected return maximization models do not consider this constraint.

An alternative to constraint 3 can be represented by Equation (4) of Expression (16.14) that ensures that the portfolio’s average risk cannot be higher than ˉσsi91_e. The risks of each asset and of the portfolio are measured by the standard deviation.

Finally, the decision variables should meet the non-negativity condition.

Model 2: Investment Portfolio Risk Minimization

An alternative to Markowitz’s model was proposed by Konno and Yamazaki (1991) that introduced the mean absolute deviation (MAD) as a risk measure. The model that minimizes the MAD is shown now.

Model parameters:

  • MAD = the portfolio’s mean absolute deviation
  • rjt = return of asset j in period t, j = 1, …, n, t = 1, …, T
  • μj = expected return of asset j, j = 1, …, n
  • ρ = minimum level required by the investor regarding the portfolio’s expected return
  • xjmax = maximum percentage allowed of asset j to be allocated in the portfolio, j = 1, …, n

Decision variables:

  • xj = percentage of asset j allocated in the portfolio, j = 1, …, n.

General formulation:

minMAD=1TTt=1|nj=1(rjtμj)xj|s.t.nj=1xj=1(1)nj=1μjxjρ(2)0xjxmaxj,j=1,,n(3)

si94_e  (16.15)

The model’s objective function tries to minimize the portfolio’s mean absolute deviation.

Constraint 1 guarantees that all the capital will be invested.

Constraint 2 guarantees that the portfolio’s average return will achieve the minimum limit required by the investor in the value of ρ.

Constraint 3 states that the positive percentage of asset i allocated in the portfolio cannot be higher than xjmax.

Example 16.8

Investor Paul Smith operates daily on Forinvest’s home broker system. Paul wants to select a new investment portfolio that maximizes its expected return with a certain risk. Based on a historical analysis of the most highly negotiable and representative assets in the Brazilian stock market, Forinvest’s financial analyst selected a set of 10 stocks trading on B3 (Brazilian Stock Exchange) that could form Paul’s portfolio, as shown in Table 16.E.8. The financial analyst tried to select a set of stocks from many different sectors, which were chosen according to Paul’s preferences. Table 16.E.9 shows a partial history of the daily return of each stock during 247 days. The complete data can be found in the file Forinvest.xls.

In order to diversify the portfolio and, consequently, minimize the portfolio’s risks, the financial analyst advised Paul to invest 30%, at the most, in each stock. Besides, the portfolio’s risks, measured by the standard deviation, could not be greater than 2.5%. Elaborate the linear programming model that maximizes Paul’s portfolio’s expected return.

Table 16.E.8

Stocks That Could Be in Paul’s Portfolio
StocksCode
1Banco Brasil ONBBAS3
2Bradesco PNBBDC4
3Eletrobras PNBELET6
4Gerdau PNGGBR4
5Itausa PNITSA4
6Petrobras PNPETR4
7Sid Nacional ONCSNA3
8Telemar PNTNLP4
9Usiminas PNAUSIM5
10Vale PNAVALE5

Table 16.E.9

Partial History of the Assets’ Daily Return
PeriodBBAS3 (%)BBDC4 (%)ELET6 (%)GGBR4 (%)ITSA4 (%)PETR4 (%)CSNA3 (%)TNLP4 (%)USIM5 (%)VALE5 (%)
1− 6.74− 6.04− 1.47− 4.48− 6.50− 2.71− 2.06− 3.19− 4.40− 3.93
26.313.054.235.002.143.434.340.223.422.72
3− 4.00− 2.081.471.67− 3.270.752.45− 2.193.060.76
40.280.14− 3.66− 1.640.81− 1.851.011.29− 0.63− 0.79
5− 6.86− 5.28− 3.79− 4.76− 5.50− 3.23− 6.66− 0.11− 4.87− 4.13
62.234.872.963.253.695.207.050.973.892.65
7− 1.45− 0.90− 1.04− 4.12− 2.47− 2.56− 0.920.070.41− 0.46
8− 1.851.05− 1.17− 1.772.39− 0.21− 2.823.67− 4.131.74
96.090.141.390.90− 0.820.891.423.75− 2.902.47
101.70− 1.94− 1.21− 3.44− 1.380.422.34− 0.140.403.64

Unlabelled Table

Solution

First of all, we calculated the average return and the standard deviation of the daily returns of each investment during the period analyzed, as shown in Table 16.E.10.

Table 16.E.10

Average Return and Standard Deviation of Each Stock During the Period Analyzed
BBAS3 (%)BBDC4 (%)ELET6 (%)GGBR4 (%)ITSA4 (%)PETR4 (%)CSNA3 (%)TNLP4 (%)USIM5 (%)VALE5 (%)
Average return− 6.74− 6.04− 1.47− 4.48− 6.50− 2.71− 2.06− 3.19− 4.40− 3.93
Standard deviation6.313.054.235.002.143.434.340.223.422.72

Unlabelled Table

The second step consists of defining the model’s decision variables:

  • xj = percentage of stock j to be allocated in the portfolio, j = 1, …, 10.

Therefore, we have:

x1 = percentage of stock BBAS3 to be allocated in the portfolio.

x2 = percentage of stock BBDC4 to be allocated in the portfolio.

x3 = percentage of stock ELET6 to be allocated in the portfolio.

x4 = percentage of stock GGBR4 to be allocated in the portfolio.

x5 = percentage of stock ITSA4 to be allocated in the portfolio.

x6 = percentage of stock PETR4 to be allocated in the portfolio.

x7 = percentage of stock CSNA3 to be allocated in the portfolio.

x8 = percentage of stock TNLP4 to be allocated in the portfolio.

x9 = percentage of stock USIM5 to be allocated in the portfolio.

x10 = percentage of stock VALE5 to be allocated in the portfolio.

The model’s objective function tries to maximize Paul’s portfolio’s expected return during the period analyzed. Therefore, the objective function can be expressed as:

Fobj=maxz=0.0037x1+0.0024x2+0.0014x3+0.0030x4+0.0024x5+0.0019x6+0.0028x7+0.0018x8+0.0025x9+0.0024x10

si95_e

The model’s constraints are described now.

  1. (1) The first constraint guarantees that 100% of the capital will be invested, that is, the sum of the composition of the stocks is equal to 1:

    x1+x2++x10=1

    si96_e

  1. (2) Constraint 2 states that the maximum percentage to be invested in each stock is 30% of the total capital invested:

    x1,x2,,x100.30

    si97_e

  1. (3) Constraint 3 guarantees that the portfolio’s risks, for the period analyzed, will not be greater than the maximum risk stipulated, that is, 2.5%:

    0.0248x1+0.0216x2++0.0247x100.0250

    si98_e

  1. (4) Finally, the non-negativity conditions of the decision variables must be met:

    x1,x2,,x100

    si99_e

The complete model can be formulated as follows:

maxE(R)=0.0037x1+0.0024x2+0.0014x3+0.0030x4+0.0024x5+0.0019x6+0.0028x7+0.0018x8+0.0025x9+0.0024x10s.t.x1+x2++x10=1(1)x1,x2,,x100.30(2)0.0248x1+0.0216x2++0.0247x100.0250(3)x1,x2,,x100(4)

si100_e

The optimal solution of the linear programming model is x1 = 30% (Banco do Brasil ON—BBAS3), x2 = 30% (Bradesco PN—BBDC4), x4 = 18.17% (Gerdau PN—GGBR4), x7 = 21.83% (Sid Nacional ON—CSNA3), and x3, x5, x6, x8, x9, x10 = 0 with z = 0.3% (daily average return of 0.3%).

Example 16.9

Consider the same portfolio optimization problem as Paul Smith’s problem described in Example 16.8. Now, in this case, instead of maximizing the expected return, we want to minimize the portfolio’s mean absolute deviation (MAD). Different from the previous example, instead of considering the maximum risk allowed constraint, we will consider a minimum limit of the portfolio’s expected daily return in the value of 0.15%. Analogous to the previous example, we must invest 30% of the capital total, at the most, in each asset. Consider the same assets (Table 16.E.9) and the same history of daily returns (Table 16.E.10) of the previous example (see file Forinvest.xls). Elaborate the linear programming problem that minimizes the portfolio’s MAD.

Solution

First of all, we must calculate the MAD of each asset in the portfolio.

Let’s consider the first stock (BBAS3). The first step is to calculate the absolute deviation in each period. As calculated in Example 16.8, we can see that the average return of stock BBAS3, for the period analyzed, is 0.37%. Since the return of the first period is − 6.74%, we can conclude that | r11 − μ1 | = |−0.0674 − 0.0037 | = 0.0711. Now, for period 2, we have | r12 − μ1 | = | 0.0631 − 0.0037 | = 0.0594. Then, we do the same for the other periods. For the last period, we have | r1247 − μ1 | = | 0.0128 − 0.0037 | = 0.0091. The second step consists in calculating the mean absolute deviation of BBAS3, that is, the arithmetic mean of the absolute deviations for each period:

1247×(0.0711+0.0594++0.0091)=0.0187

si101_e

Then, we do the same for the other stocks. Table 16.E.11 shows the mean absolute deviation of each asset.

Table 16.E.11

Mean Absolute Deviation of Each Stock
BBAS3 (%)BBDC4 (%)ELET6 (%)GGBR4 (%)ITSA4 (%)PETR4 (%)CSNA3 (%)TNLP4 (%)USIM5 (%)VALE5 (%)
MAD1.871.651.472.281.691.501.991.662.111.79

Unlabelled Table

The objective function tries to minimize the portfolio’s MAD, and it can be written as follows:

Fobj=minMAD=0.0187x1+0.0165x2+0.0147x3+0.0228x4+0.0169x5+0.0150x6+0.0199x7+0.0166x8+0.0211x9+0.0179x10

si102_e

The constraint that the portfolio’s daily average return should achieve the minimum limit required by the investor must be considered:

0.0037x1+0.0024x2++0.0024x100.0015

si103_e

The complete model can be formulated as follows:

minMAD=0.0187x1+0.0165x2+0.0147x3+0.0228x4+0.0169x5+0.0150x6+0.0199x7+0.0166x8+0.0211x9+0.0179x10s.t.x1+x2++x10=1(1)0.0037x1+0.0024x2++0.0024x100.0015(2)0x1,x2,,x100.30(3)

si104_e

The optimal solution of the linear programming model is x2 = 30% (Bradesco PN—BBDC4), x3 = 30% (Eletrobras PNB—ELET6), x6 = 30% (Petrobras PN—PETR4), x8 = 10% (Telemar PN—TNLP4), and x1, x4, x5, x7, x9, x10 = 0 with z = 1.55% (the portfolio’s mean absolute deviation).

16.6.6 Production and Inventory Problem

In this section, we will consider a linear programming model that integrates production and inventory decisions. The period of time can be short, medium, or long.

A general linear programming model to solve the production and inventory problem, based on Taha (2010, 2016) and Ahuja et al. (2007), will be presented, for a case with m products (i = 1,   …,   m) and T periods (t = 1,   …,   T).

Model parameters:

  • Dit = demand for product i in period t
  • cit = production cost per unit of product i in period t
  • iit = inventory cost per unit of product i in period t
  • xitmax = maximum production capacity of product i in period t
  • Iitmax = maximum inventory capacity of product i in period t

Decision variables:

  • xit = amount of product i to be produced in period t
  • Iit = final inventory of product i in period t

General formulation:

minz=Tt=1mi=1(citxit+iitIit)s.t.Iit=Ii,t1+xitDit,i=1,,m;t=1,,T(1)xitxmaxit,i=1,,m;t=1,,T(2)IitImaxit,i=1,,m;t=1,,T(3)xit,Iit0i=1,,m;t=1,,T(4)

si105_e  (16.16)

The model’s objective function is trying to minimize the sum of the production and inventory costs for T periods of time.

For each product, constraint 1 represents the inventory balance expression, that is, the final inventory in period t is the same as the final inventory in the previous period, added to the total produced in the same period, subtracted the demand for the current period. So, in order for the demand for product i to be met in period t, the inventory level of the same product in the previous period, added to what was produced in the same period, must be greater than or equal to the demand. This condition is implied in the model since decision variable Iit can only assume non-negative values.

Constraint 2 guarantees that the maximum production capacity will not be exceeded.

Constraint 3 guarantees that the maximum inventory capacity will not be exceeded.

Finally, the non-negativity conditions of the model’s decision variables must also be met. Similar to the production mix problem, in which the decision variables can only assume integer values (i.e., the manufacturing and storing of products cannot be fractioned, such as, cars, electrical appliances, electrical devices, etc.), we have an integer programming (IP) problem.

Example 16.10

Fenix & Furniture is launching their new collection of sofas and armchairs for next semester. This new collection includes 2- and 3-seat sofas, sofa-beds, armchairs, and poufs. Table 16.E.12 shows the data on the production and inventory costs and capacity for each product, which are constant for all the periods. The demand for each product for next semester is listed in Table 16.E.13. The initial inventory for all the products is 200 units. Determine the optimal production and inventory control planning that minimizes the total production and storage costs, meets the intended demand, and respects the production and storage capacity limitations.

Table 16.E.12

Production and Inventory Costs and Capacity for Each Product
2-Seat Sofa3-Seat SofaSofa-BedArmchairPouf
Production cost (US$/unit)3204405306648
Inventory cost (US$/unit)88933
Production capacity (units)18001600150020002000
Inventory capacity (units)20,00018,00015,00022,00022,000

Unlabelled Table

Table 16.E.13

Demand Per Product and Period
Jan.Feb.MarchAprilMayJun.
2-Seat sofa120012501400186020001700
3-Seat sofa125014301650170014501500
Sofa-bed140015001200135016001450
Armchair180017502100200018501630
Pouf185017002050195020501740

Unlabelled Table

Solution

The mathematical formulation of Example 16.10 is similar to the general formulation of the production and inventory problem presented in Expression (16.16). The complete model is shown now.

First of all, we have to define the model’s decision variables:

  • xit = number of pieces of furniture i to be produced in month t (units), i = 1, …, 5,   t = 1, …, 6
  • Iit = final inventory of piece of furniture i in month t (units), i = 1, …, 5, t = 1, …, 6

Therefore, we have:

x11 = number of 2-seat sofas to be produced in January.

si67_e

x16 = number of 2-seat sofas to be produced in June.

x21 = number of 3-seat sofas to be produced in January.

si67_e

x26 = number of 3-seat sofas to be produced in June.

x31 = number of sofa-beds to be produced in January.

si67_e

x36 = number of sofa-beds to be produced in June.

x41 = number of armchairs to be produced in January.

si67_e

x46 = number of armchairs to be produced in June.

x51 = number of poufs to be produced in January.

si67_e

x56 = number of poufs to be produced in June.

I11 = final inventory of 2-seat sofas in January.

si67_e

I16 = final inventory of 2-seat sofas in June.

I21 = final inventory of 3-seat sofas in January.

si67_e

I26 = final inventory of 3-seat sofas in June.

I31 = final inventory of sofa-beds in January.

si67_e

I36 = final inventory of sofa-beds in June.

I41 = final inventory of armchairs in January.

si67_e

I46 = final inventory of armchairs in June.

I51 = final inventory of poufs in January.

si67_e

I56 = final inventory of poufs in June.

Since the decision variables are discrete, we have an integer programming (IP) problem. Luckily, in this problem, the integrality constraints can be relaxed or eliminated, since the relaxed problem’s optimal solution still meets the integrality conditions. Thus, the formulation of the problem will be presented as a linear programming (LP) model.

The objective function can be written as:

minz=320(x11+x12+x13+x14+x15+x16)+8(I11+I12+I13+I14+I15+I16)+440(x21+x22+x23+x24+x25+x26)+8(I21+I22+I23+I24+I25+I26)+530(x31+x32+x33+x34+x35+x36)+9(I31+I32+I33+I34+I35+I36)+66(x41+x42+x43+x44+x45+x46)+3(I41+I42+I43+I44+I45+I46)+48(x51+x52+x53+x54+x55+x56)+3(I51+I52+I53+I54+I55+I56)

si116_e

The model’s constraints are described here.

  1. (1) Inventory balance equations, for each piece of furniture i (i = 1, …, 5), each month t (t = 1, …, 6):

    I11=200+x111200I12=I11+x121250I13=I12+x131400I14=I13+x141860I15=I14+x152000I16=I15+x161700

    si117_e


    I21=200+x211250I22=I21+x221430I23=I22+x231650I24=I23+x241700I25=I24+x251450I26=I25+x261500

    si118_e

    I31=200+x311400I32=I31+x321500I33=I32+x331200I34=I33+x341350I35=I34+x351600I36=I35+x361450

    si119_e

    I41=200+x411800I42=I41+x421750I43=I42+x432100I44=I43+x442000I45=I44+x451850I46=I45+x461630

    si120_e

    I51=200+x511850I52=I51+x521700I53=I52+x532050I54=I53+x541950I55=I54+x552050I56=I55+x561740

    si121_e

  1. (2) Maximum production capacity:

    x11,x12,x13,x14,x15,x161800

    si122_e


    x21,x22,x23,x24,x25,x261600

    si123_e

    x31,x32,x33,x34,x35,x361500

    si124_e

    x41,x42,x43,x44,x45,x462000

    si125_e

    x51,x52,x53,x54,x55,x562000

    si126_e

  1. (3) Maximum inventory capacity:

    I11,I12,I13,I14,I15,I1620,000

    si127_e


    I21,I22,I23,I24,I25,I2618,000

    si128_e

    I31,I32,I33,I34,I35,I3615,000

    si129_e

    I41,I42,I43,I44,I45,I4622,000

    si130_e

    I51,I52,I53,I54,I55,I5622,000

    si131_e

  1. (4) Non-negativity constraints:

xit,Iit0i=1,,5;t=1,,6

si132_e

The production and inventory model’s optimal solution is shown in Table 16.E.14.

Table 16.E.14

Production and Inventory Model’s Optimal Solution
SolutionJan.Feb.MarchAprilMayJun.z
x1t100012501660180018001700US$ 12,472,680.00
x2t105015801600160014501500
x3t120015001200145015001450
x4t160018502000200018501630
x5t165017502000200020001740
I1t0026020000
I2t0150100000
I3t00010000
I4t01000000
I5t05005000

Unlabelled Table

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset