Using linear programming for tactical planning in ...

2 downloads 219 Views 892KB Size Report
On each of these lands it is possible to grow just one product using one of ... integrated with the current Prefarm SaaS information system using COIN MDIS.
Using linear programming for tactical planning in agriculture in the frame of the COIN project Karel Charvat junior1, Pavel Gnip2, Karel Charvat2 1 Department of Econometrics, University of Economics, Prague, 2WirelessInfo E-mail: [email protected] Introduction The main objective of the COIN Open Agriculture Service (OAS) is to improve collaboration within the farming sector. COIN OAS is developing innovative solutions based on currently used SaaS services platform Prefarm. This solution has certain limitation. Prefarm platform is currently used mainly for preparing recommendation for variable fertilisation. The solution currently supports only static collaboration relation. It is not possible to involve new users. Tactical production planning The COIN tactical planning module is focused on introducing new methods oriented on tactical planning for the next seasons. The main goal of tactical planning is to recommend optimal production and land use for the next seasons to maximize expected profits. The goal for tactical planning is to recommend production for the next season, eventually also some vision for the next (two till five) seasons. The decision problem could be described in the way described below. A farmer has a number of parcels with different properties available for his production. It is possible to grow different kinds of products on these lands. On each of these lands it is possible to grow just one product using one of these two methods: •

Production without using variable fertilizer application.



Production with variable fertilizer application.

Due to many reasons, for example crop rotation and field localisation, it is not possible to grow each of the products on each of the lands in the next season. In this approach, optimal production plan and profit for each scenario has to be computed. The key problem for the decision is the existence of data. In case of farmers, who were using precision agriculture in the past, it is possible to estimate many data values with quite high accuracy. Obviously most of the information does not exist in the farm information systems in the form requested by the model. The interoperability of data is missing; we need tools transforming data into the required form. To get values of some data it is necessary to create procedures, which will calculate the values from available data. However, some of the data values have probabilistic character. Selling prices of each product kind is very difficult to predict. The yields per hectare of some products and costs also bring some uncertainty into the decision problem. The approach which is used in case of parameters, which are difficult to predict, is creating several scenarios for factors, which are affecting values of these parameters. For generating scenarios a lot of external information is needed. Mainly in case of prices, we are probably not able to do without services of agricultural analysts. We will consider two approaches to the scenarios. 300

ICT FOR AGRICULTURE, RURAL DEVELOPMENT AND ENVIRONMENT

In the first approach the optimal production plan and profit for each scenario has to be computed. For each of these production plans, the value of profit in case of all other scenarios is expressed. Then a suitable method for choosing one of the production plans is used. The second approach is based on multiple criteria mathematical programming. In multiple criteria mathematical programming problems, there is more than one objective function. In case of our problem, the individual objective function represents profits in different scenarios. Solutions found by solving multiple criteria mathematical programming are called compromise solutions, because most of the problems don’t have a solution providing the best values for all objective functions at the same time. For these purposes, it is necessary to use some of the available modelling systems and optimisation solvers. These tools have to be integrated with the current Prefarm SaaS information system using COIN MDIS. Purchasing commercial software belonging to these categories is usually very costly. In this moment we are using the modelling system PuLP with a modelling library created in Python. The basic system architecture is divided into three layers

Liferay Interface

Portlet of components or iframes

Databases and service layer Figure 1. Liferay interface guarantees communication with end users, but also authorisation and authentication. Layers of portlets or iFrames guarantee communication with single components or databases. Database and service layers are layers, where single components really interact. From component point of view architecture could be characterised by next components:

ICT FOR AGRICULTURE, RURAL DEVELOPMENT AND ENVIRONMENT

301

Figure 2. System overview. The architecture allows discovering and selecting information sources from existing services precision farming database, sensors and other existing databases and combining selected information into form of Web Feature Services (GML format – version of XML for Geographic Data. The geographical data are shared using services defined by Open Geospatial Consortium. For optimisation processes it is not necessary to use directly spatial representation of objects (areas, etc). For optimisations it is necessary to transform data into tabular form protecting only identifier of graphical object. This identifier is later used for merging optimisation results with graphical object for visualisation. In MDIS there is defined transformation model for transformation data into interoperable form. Own development is focused on Optimization module which is generating variants of production plan. This information is transferred into graphical form and visualised using visualisation client. Decision problem description A farmer has a number of lands with different properties available for his production. It is possible to grow different kinds of products on these lands. 302

ICT FOR AGRICULTURE, RURAL DEVELOPMENT AND ENVIRONMENT

On each of these lands it is possible to grow just one product using one of the following methods: •

standard production without using variable fertilizer application,



standard production with variable fertilizer application,



intensive production without using variable fertilizer application,



intensive production with variable fertilizer application,

• extensive production without using variable fertilizer application. Due to many reasons, for example crop rotation and field localisation, it is not possible to grow each of the products on each of the lands in next season. Also some of the methods of growing are not allowed on some lands. For formulation and solving the problem we need various input data. Main factors affecting the profit are: •

prices at which the farmer will be able to sell his products,



subsidies for plant production or different usage of land,



yields / hectare of particular crops,



costs including several items: o

The costs of growing different crop kinds depending on land properties and land area. Lot of items like seed, fertilizer, operating costs and labor costs can be included into these costs.

o

Fixed costs connected with each kind of crop.

o

Fixed costs of using variable fertilizer application, which have to be included, if farmer uses variable application on any of his lands.

Some of the costs can be equal to zero in some cases, eventually they can significantly decrease during time. This includes for example fixed cost of variable fertilizer application, where farmer used this technology in the past. We can suppose that use of variable fertilizer application in addition to decreasing cost will also influence crop yields and subsidies. The goal of this problem is to create recommendation saying which crop should be sowed on each land and which way of their growing should be chosen, so as all constraints were satisfied and maximum value of profit was achieved. To start we will suppose, that we are able to estimate all data values with sufficient accuracy. Further we will sketch one possibility, how to take in account stochastic character of same input data.

ICT FOR AGRICULTURE, RURAL DEVELOPMENT AND ENVIRONMENT

303

Mathematical model Now we will describe the problem by mathematical model. The result of this description will be an integer linear programming model. Variables definition In our model formulation the following variables are used: •

𝑦! – binary variable, which equals 1, if product i will be grown on at least one land, and 0 otherwise,



𝑥!"!" – binary variable, which tells, whether product i will be grown on land j using standard intensity,



𝑥!"!"#$ – binary variable, which tells, whether product i will be grown on land j using standard intensity and variable fertilizer application,

• • • •

!" 𝑥!" – binary variable, which tells, whether product i will be intensively grown on land j, !"#$ 𝑥!" – binary variable, which tells, whether product i will be intensively grown on land j using variable fertilizer application, !" 𝑥!" – binary variable, which tells, whether product i will be extensively grown on land j,

𝑉𝐴 – binary variable which equals 1 if variable fertilizer application will be used, and 0 otherwise.

Data description For constructing model and solving the problem following data are required: •

m – number of crop kinds, from which farmer is choosing his production mix,



n – number of farmer’s lands,



𝑎! – area of land j (in hectares),



𝑐!" – costs per one hectare, if product i is grown on land j,



𝐶 !" – variable application fixed cost,



fi prod – product i fixed cost,



sij – subsidies per one hectare, if product i is grown on land j,



hij – expected yields of product (tons), when product i is grown on land j,



pi – expected sell price of one ton of product i,



𝑄 !" – maximum number of different crop kinds, which farmer plan to grow in next season,



𝜋! – maximum ratio of area sown by crop i to total area of all lands,

!"

304

ICT FOR AGRICULTURE, RURAL DEVELOPMENT AND ENVIRONMENT



𝜋!!"#$ – minimum ratio of area sown by crop i to total area of all lands,



𝑤!"  – equals 1 if it is possible to grow product i on land j, and 0 otherwise.

Superscript 𝑉𝐴  means, that the data item refers to variable rate of fertilizer application. Superscript St refers to standard intensity of growing, Ex to extensive growing and In to intensive growing. For example 𝑐!"!"#$ denotes costs per one hectare, if product i is grown on land j with standard intensity and variable fertilizer application is used on land j

Model formulation Using previously defined data and variables, we will create a model in the following form: maximize !

! !" !" !"#$ !" 𝑎! ℎ!" 𝑝! + 𝑠!"!" − 𝑐!"!" 𝑥!"!" + 𝑎! ℎ!" 𝑝! + 𝑠!"!" − 𝑐!"!"#$ 𝑥!"!"#$

𝑧= !!! !!! ! !

!" !" !" !" !" !"#$ !" !" !"#$ !"#$ 𝑎! ℎ!" 𝑝! + 𝑠!" − 𝑐!" 𝑥!" + 𝑎! ℎ!" 𝑝! + 𝑠!" − 𝑐!" 𝑥!"

+ !!! !!! ! !

!" !" !" !" !" 𝑎! ℎ!" 𝑝! + 𝑠!" − 𝑐!" 𝑥!" −

+

(1)

!

!!! !!!

𝑓!

!"#$

𝑦! − 𝑉𝐴 𝐶 !"

!!!

subject to ! !" !"#$ 𝑥!"!" + 𝑥!"!"#$ + 𝑥!" + 𝑥!" + 𝑥!"!"#$ ≤ 1

𝑗 = 1, … , 𝑛,

(2)

!" !"#$ 𝑥!"!" + 𝑥!"!"#$ + 𝑥!" + 𝑥!" + 𝑥!"!"#$ +≤ 𝑛𝑦!

𝑖 = 1, … , 𝑚,

(3)

𝑖 = 1, … , 𝑚,

(4)

𝑖 = 1, … , 𝑚,

(5)

!!! !

!!! !

! !"

!" !"#$ 𝑎! 𝑥!"!" + 𝑥!"!"#$ + 𝑥!" + 𝑥!" + 𝑥!"!"#$ ≤ 𝜋! !!! !

𝑎!   !!! !

𝑎! 𝑥!"!"

+

𝑥!"!"#$

!!!

+

!" 𝑥!"

+

!"#$ 𝑥!"

+

𝑥!"!"#$



𝜋!!"#$

𝑎!   !!!

!

𝑦! ≤ 𝑄 !"

(6)

!!!

𝑥!"!" + 𝑥!"!"#$ ≤ 𝑤!"!"

𝑖 = 1, … , 𝑚,   𝑗 = 1, … , 𝑛,

ICT FOR AGRICULTURE, RURAL DEVELOPMENT AND ENVIRONMENT

(7)

305

!" 𝑥!" + 𝑥!"!"#$ ≤ 𝑤!"!"

𝑖 = 1, … , 𝑚   𝑗 = 1, … , 𝑛,

(8)

!" 𝑥!" ≤ 𝑤!"!"

𝑖 = 1, … , 𝑚   𝑗 = 1, … , 𝑛,

(9)

𝑗 = 1, … , 𝑛,

(10)

𝑦! ∈ {0,1}

𝑖 = 1, … , 𝑚,

(11)

𝑥!"!" ∈ 0,1

𝑖 = 1, … , 𝑚   𝑗 = 1, … , 𝑛,

(12)

!" 𝑥!" ∈ 0,1

𝑖 = 1, … , 𝑚   𝑗 = 1, … , 𝑛,

(13)

!" 𝑥!" ∈ 0,1

𝑖 = 1, … , 𝑚   𝑗 = 1, … , 𝑛,

(14)

𝑥!"!"#$ ∈ 0,1

𝑖 = 1, … , 𝑚    𝑗 = 1, … , 𝑛,

(15)

!"#$ 𝑥!" ∈ 0,1

𝑖 = 1, … , 𝑚    𝑗 = 1, … , 𝑛,

(16)

! !"#$ 𝑥!"!"#$ + 𝑥!" ≤ 𝑉𝐴 !!!

𝑉𝐴 ∈ {0,1}.

(17)

Interpretation Optimal production plan for the given input data is described by optimal solution of this problem. In terms of mathematical programming solving this problem means finding optimal values of all variables, which are used in this model. In general, optimal solution has two basic features: •

All constraints are satisfied. This feature is called feasibility.



In the set of feasible solution, there is no other solution with better value of objective function. In our case this means, that there is no other feasible solution promising higher value of profit.

The meaning of constraints in the model is as follows: (1) Is objective function which expresses the value of profit. (2) Ensures, that maximum one crop is grown on each land.

306

ICT FOR AGRICULTURE, RURAL DEVELOPMENT AND ENVIRONMENT

(3) Forces the variable 𝑦! to take value 1, if product i will be grown on any land. This constraint is necessary to ensure that fixed cost of each product, which is grown, will be counted in the objective function (profit calculation). This variable is also necessary to counting different product kinds, which will be grown. (4) Ensures respecting maximum ratio of area sown by each crop kind. (5) Ensures respecting minimum ratio of area sown by each crop kind. (6) Ensures respecting maximum number of different crop kinds (7) Ensures, that each crop kind will be grown with standard intensity only on lands, where it can be grown this way. (8) Ensures, that each crop kind will be grown intensively only on lands, where it can be grown this way. (9) Ensures, that each crop kind will be grown extensively only on lands, where it can be grown this way. (10) Together with objective function helps to ensure, that variable fertilizer application will be used only in case, it is convenient for the value of total profit. (11) Ensure, that certain variables will be binary. Using scenarios in decision problem Especially in case of farmers, who were using precision agriculture in the past, it will be possible to estimate many data values with quite high accuracy. The most of information will not of course exist in the farm information system in form requested by model. To get values of some data it is necessary to create procedures, which calculate the values from available data. However some of the data values have probabilistic character. Especially selling prices of each product kind are very difficult to predict. The yields per hectare of some products and costs also bring some uncertainty into the optimization problem. The approach which can be used in case of parameters, which are difficult to predict, is creating several scenarios for factors, which are affecting values of these parameters. For generating scenarios a lot of external information is needed. Based on values of certain factors in individual scenarios, different sets of selling prices, yields per hectare and costs are computed. This means that different matrixes of yields per hectare hij, selling prices pi and costs 𝑐!" are used in each scenario. According to the chosen approach, the result of the decision problem is one production plan, ore more different production plans, from which the farmer chose one. The approaches should be used in way which enables taking in account farmer’s individual attitude to risk. In this time, we are working on implementation of these approaches into the optimization model In following subchapters, we will describe two ways, which seem to be suitable for this purpose.

ICT FOR AGRICULTURE, RURAL DEVELOPMENT AND ENVIRONMENT

307

Choice from set of production plans In this approach optimal production plan and profit for each scenario is computed. For each of these production plans, the values of profit in case of all other scenarios are expressed. The result is matrix containing values of expected profit for each combination of production plan and scenario. Than suitable method of choosing one of the production plans must be used. If it is possible to estimate probabilities of occurrence of each scenario, some of the methods of decision making under risk can be used. In the opposite case it is be necessary to use some method of decision making under uncertainty. Multiple criteria mathematical programming using maximin principle In multiple criteria mathematical programming problems, there is more then one objective function. In case of our problem, individual objective function represents profits in different scenarios. Solutions found by solving multiple criteria mathematical programming are called compromise solutions, because the most of problems doesn’t have solution providing the best values of all objective functions in the same time. It the most of methods, some additional information like for example weights of each criteria is required from decision maker. One of the methods of multiple criteria mathematical programming is finding solution according to the minimal component. This method is using maximin principle. In our case, the result is production plan, which in case of occurrence of the worst scenario for the production plan promises higher profit than any other production plan in combination with its worst case scenario. This approach to scenarios is suitable for farmers with very negative attitude to risk. Software usable for solving of this decision problem The decision problem described above can hardly be solved without software, which enables creating and solving mathematical programming problems. For this purposes, it is necessary to use some of the available modelling systems and optimization solvers. These tools will be integrated with current Prefarm SaaS information system. Purchasing commercial software belonging to these categories is usually very costly. In this moment we are using modelling system PuLP, which seems to be the most suitable tool for our purposes. PuLP is modelling system created in Python, which enables creating files in LP and MPS formats and which is able to interact with optimization solvers GLPK, CPL/CBC CPLEX and GUROBI. GLPK and CLP/CBC are open source tools, GUROBI and CPLEX are the top commercial products. From these possibilities we have chosen CLP/CBC, which has shown better computational performance then GLPK in our model. CLP/CBC is not as powerful tool as CPLEX, or GUROBI, but for our purposes the performance is satisfying and investment to the commercial solvers is not reasonable in this moment.

308

ICT FOR AGRICULTURE, RURAL DEVELOPMENT AND ENVIRONMENT

Conclusion In this chapter we have described tactical production planning problem and presented mathematical model, which is supposed to help with solving the problem. However before using this approach in practice, it will be necessary to perform a lot of testing and development. We suppose that the model formulation and description will further evolve as a result of testing on real data and adjusting according to the farmer’s needs. We also suppose that there won’t be one universal problem formulation suitable for all potential users, so it will be necessary to add a possibility to customize the model. Customization at basic level can be done quite simply by setting values of parameters, but in some situations adding, removing or changing constraints is the only way of taking in account individual requirements. For this reasons, mathematical programming is suitable approach, because it is quite flexible, and modified problems can be solved by the same algorithms as the original problem. Although mathematical programming is approach older than sixty years, the progressing in optimization algorithms and hardware in last ten years, and new possibilities of connecting models with data sources are dramatically increasing its practical usability. Acknowledgements The paper is prepared on the basis of outputs from the following project: COIN - the solution was achieved with financial co-funding by the European Commission within the Seventh Framework Programme with registration number 216256 and name “COllaboration and INteroperability for networked enterprises” References CHARVÁT, KAREL, JR., GNIP, P., CHARVÁT, KAREL. COIN – Module for Tactical planning of agriculture production. Praha 11.07.2011 – 14.07.2011. In: EFITA/WCCA. Praha : Czech Centre for Science and Society, 2011, s. 166–174. ISBN 978-80-904830-0-2. CHARVAT, K at all D1.2.3 Visions and recommendations for knowledge management, Report from FUTUREFARM project. CHARVAT, K., GNIP, P. AND MAYER, W., 2009. FutureFarm vision, IPCA congress 2009, Wageningen. CHARVAT, K., GNIP P.,VOHNOUT, P., CHARVAT, K. JR. VISION FOR A FARM OF TOMORROW, IST Africa 2011, Gaborone, Botswana STUART, M., KEAN, A., MASON, A., O'SULLIVAN, M.,PHILPIS, A.: PuLP v 1.4.9 documentation [Online]. [cit. 2011-11-25]. Accessible from: http://packages.python.org/PuLP/ CBC home page [Online]. [cit. 2011-11-25] Accessible from : https://projects.coin-or.org/Cbc FORREST, J.: CBC User Guide [Online]. [cit. 2011-11-25]. Accessible from: http://www.coinor.org/Cbc/index.html FIALA, P. 2008. Modely a metody rozhodování (Model and Methods of Decision Making). VŠE, Praha. GNIP, P., CHARVAT, K. AND KROCAN, M., 2008. Analysis of External Drivers for Agriculture, IALD WCCA INFITA congress 2008 Tokyo. JENSEN, P. A., BARD J. F. 2003. Operations Research - Models and Methods. John Wiley & Sons.

ICT FOR AGRICULTURE, RURAL DEVELOPMENT AND ENVIRONMENT

309

Suggest Documents