Skip to main content

Advertisement

Log in

Simulation and mathematical programming decision-making support for smallholder farming

  • Published:
Environment Systems and Decisions Aims and scope Submit manuscript

Abstract

Many mathematical programs have been developed over the past 50 years to aid agricultural experts and other farming decision-makers. The application of these mathematical programs has seen limited success because their development has focused on mathematical theory as opposed to the requirements needed for application. This paper describes the development of two mathematical programs that were designed to integrate with a visualization simulation that aids a nontraditional group of agricultural decision-makers: illiterate Sri Lankan subsistence farmers. The simulation was designed to help these illiterate farmers make business decisions about their crop selection choices which, in turn, will help them develop their business plans required for obtaining bank micro-loans. This paper’s focus is on the use of linear programming as a potential tool to demonstrate the benefits of crop diversification and rotation to the farmer based on various available crop types. It also highlights the issues using such an approach.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3

Similar content being viewed by others

References

  • Bandyopadhyay R, Datta S (1990) Applications of OR in developing economies: some Indian experiences. Eur J Oper Res 49(2):188–199

    Article  Google Scholar 

  • Beckert B, Hahnle R (1996) Deduction by combining semantic tableaux and integer programming. Proceedings of the 9th international conference of computer science logic (CSL’95), September 22nd–29th, Paderborn, Germany, pp 52–63

  • Bullock DG (1992) Crop rotation. Crit Rev Plant Sci 11(4):309–326

    Google Scholar 

  • Butterworth K (1985) Practical application of linear/integer programming in agriculture. J Oper Res Soc 36(2):99–107

    Google Scholar 

  • Dogliotti S, van Ittersum MK, Rossing WAH (2005) A method for exploring sustainable development options at farm scale: a case study for vegetable farms in South Uruguay. Agric Syst 86(1):29–51

    Article  Google Scholar 

  • Doole GJ, Pannell DJ (2008) Optimisation of a large, constrained simulation model using compressed annealing. J Agric Econ 59(1):188–206

    Article  Google Scholar 

  • Dury J, Schaller N, Garcia F, Reynaud A, Bergez JE (2012) Models to support cropping plan and crop rotation decisions. A Review. Agron Sustain Dev 32(2):567–580

    Article  Google Scholar 

  • Goudriaan J, van Laar HH (1994) Modeling potential crop growth processes. Kluwer Academic Publishers, Dordrecht, the Netherlands

    Book  Google Scholar 

  • Hassan I, Raza MA, Khalil M, Rehmat I (2004) Determination of optimum cropping patterns in the Faisalabad division (Pakistan). Int J Agric Biol 6(5):901–903

    Google Scholar 

  • Hazell PBR (1971) A linear alternative to quadratic and semi variance programming for farm planning under uncertainty. Am J Agric Econ 53(1):53–62

    Article  Google Scholar 

  • Hildreth C, Knowles GJ (1982) Some estimates of farmers’ utility functions. Technical bulletins. University of Minnesota, Agricultural Experiment Station. http://ideas.repec.org/p/ags/umaetb/54545.html

  • Hooker JN (2002) Logic, optimization, and constraint programming. INFORMS J Comput 14(4):295–321

    Article  Google Scholar 

  • Index Mundi (2012) Diammonium phosphate (DAP) fertilizer price over last year. http://www.indexmundi.com/commodities/?commodity=dap-fertilizer&months=12&currency=lkr (Accessed on 24 Oct 2012)

  • Jolayemi JK, Olaomi JO (1995) A mathematical programming procedure for selecting crops for mixed-cropping schemes. Ecol Modell 79(1–3):1–9

    Article  Google Scholar 

  • Karp RM (1972) Reducibility among combinatorial problems. In: Miller RE, Thatcher JW (eds) Complexity of computer computations. Plenum, New York, pp 85–103

    Chapter  Google Scholar 

  • Klein Haneveld WK, Stegeman AW (2005) Crop succession requirements in agricultural production planning. Eur J Oper Res 166(2):406–429

    Article  Google Scholar 

  • Malabuyoc JA, Real JG, De Datta SK (1993) Grain yield as a function of rainfall, soil moisture and solar radiation in upland rice (Oryza Sativa L.). Field Crops Res 34(1):37–45

    Article  Google Scholar 

  • Mayer C (2003) Crop rotation. Franklin county cooperative extension. Penn State. Mimeo. http://resources.cas.psu.edu/ipm/POP/croprotat.pdf

  • Pap Z (2008) Crop rotation constraints in agricultural production planning. In 6th international symposium on intelligent systems and informatics, SISY 2008, pp 1–5

  • Plà LM, Sandars DL, Higgins AJ (2013) A perspective on operational research prospects for agriculture. J Oper Res Soc. doi:10.1057/jors.2013.45

  • Qu H, Zhu Q, Fu H, Lu Z (2010) Virtual EP: a simulator of multi-agents-based virtual plant growth in response to environmental heterogeneity. J Simul 4(3):181–195

    Article  Google Scholar 

  • Qualizza A, Belotti P, Margot F (2012) Linear programming relaxations of quadratically constrained quadratic programs, mixed integer nonlinear programming 154. Springer, New York, pp 407–426

    Book  Google Scholar 

  • Rossing WAH, Jansma JE, De Ruijter FJ, Schans J (1997) Operationalizing sustainability: exploring options for environmentally friendly flower bulb production systems. Eur J Plant Pathol 103:217–234

    Article  Google Scholar 

  • Sarker RA, Talukdar S, Haque AFM (1997) Determination of optimum crop mix for crop cultivation in Bangladesh. Appl Math Model 21(10):621–632

    Article  Google Scholar 

  • Stockle CO, Martin SA, Campbell GS (1994) CropSyst, a cropping systems simulation model: water/nitrogen budgets and crop yield. Agric Syst 46(3):335–359

    Article  Google Scholar 

  • Teh C (2006) Introduction to mathematical modeling of crop growth: how the equations are derived and assembled into a computer program. Brown Walker Press, Boca Raton, FL

    Google Scholar 

  • The World Bank (2012) Fertilizer consumption (kilograms per hectare of arable land). http://data.worldbank.org/indicator/AG.CON.FERT.ZS/countries (Accessed on 24 Oct 2012)

  • Vegesana KB, Mckenzie FD (2013) Analysis of generic crop growth model for use in decision support systems for farmers. In Proceedings of 3rd international conference on photonics and image in agriculture engineering. Sanya, China, January 27–28

  • Wiens TB (1976) Peasant risk aversion and allocative behavior: a quadratic programming experiment. Am J Agric Econ 58(4): 629–635

    Article  Google Scholar 

  • Winston WL (2003) Operations research applications and algorithms, 4th edn. Cengage Learning, Stamford, CT

    Google Scholar 

Download references

Acknowledgments

We would also like to thank the Old Dominion University’s Office of Research for their generous support of this project through their Multidisciplinary Seed Funding Program (ODU# 523521).

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Andrew J. Collins.

Appendix: program formulation

Appendix: program formulation

The complete mathematical formulations for linear and quadratic program are given in these appendices without comment as a holistic formulation. The original equation numbering has been used to help the reader refer back to the commentary in the main text if need be. The complete list of variables is given first:

\( x_{i}^{a,t} \) :

Binary indicator of whether crop type “i” was planted in field “a” in session “t

\( f_{i}^{a,t} \) :

Binary indicator of whether fertilizer type “i” was used in field “a” in session “t

\( b_{i}^{a,t} \) :

Binary indicator of whether pesticide type “i” was used in field “a” in session “t

\( x_{i} \) :

Crop of type “i

\( f_{i} \) :

Fertilizer of type “i

\( b_{i} \) :

Pesticide of type “i

\( a \) :

Field indicator

\( t \) :

Time indicator

\( T \) :

Total sessions considered (= 20)

\( N_{a} \) :

Number of fields (= 4)

\( N_{x} \) :

Number of crop types (= 4)

\( N_{f} \) :

Number of fertilizer types (= 2)

\( N_{b} \) :

Number of pesticide types (= 2)

\( R\left( F \right) \) :

Yield bonus from the previous year if field was left fallow

\( c\left( . \right) \) :

Cost of product of either crop seed or chemical

\( Y\left( {x_{i} } \right) \) :

Yield, in monetary value, from crop type “i” per field per session

\( R\left( {x_{j} ,x_{i} } \right) \) :

Crop rotation impact from planting crop “j” the year before planting crop “i,” minus the yield bonus from the previous year field being fallow

\( F\left( {f_{i} } \right) \) :

Yield impact from using fertilizer type “i

\( B\left( {b_{i} } \right) \) :

Yield impact from using pesticide type “i

1.1 Linear program formulation

The linear program formulation is given in this appendix:

\( {\text{Maximize}}\mathop \sum \limits_{t = 1}^{T} \left( {Y_{t} - c_{t} } \right) \) (1).

s.t.

$$ c_{t} = \mathop \sum \limits_{a = 1}^{{N_{a} }} \left( {\mathop \sum \limits_{i = 1}^{{N_{x} }} c\left( {x_{i} } \right)x_{i}^{a,t} + \mathop \sum \limits_{i = 1}^{{N_{f} }} c\left( {f_{i} } \right)f_{i}^{a,t} + \mathop \sum \limits_{i = 1}^{{N_{b} }} c\left( {b_{i} } \right)b_{i}^{a,t} } \right) \quad\forall t $$
(2)
$$ \begin{aligned} Y_{t} & = \sum\limits_{i = 1}^{{N_{x} }} {Y\left( {x_{i} } \right)} \sum\limits_{a = 1}^{{N_{a} }} {\left( {x_{i}^{a,t} \left( {1 + R\left( F \right)} \right) + \sum\limits_{j = 1}^{{N_{x} }} {R\left( {x_{j} ,x_{i} } \right)I\left( {x_{j}^{a,t - 1} ,x_{i}^{a,t} } \right)} + \sum\limits_{j = 1}^{{N_{f} }} {F\left( {f_{j} } \right)I\left( {f_{j}^{a,t} ,x_{i}^{a,t} } \right)} } \right.} \\ & \quad + \left. {\sum\limits_{j = 1}^{{N_{f} }} {\left( {f_{j} } \right)I\left( {f_{j}^{a,t} ,x_{i}^{a,t} } \right)} + \sum\limits_{k = 1}^{{N_{b} }} {B\left( {b_{k} } \right)I\left( {b_{k}^{a,t} ,x_{i}^{a,t} } \right)} } \right)\quad\forall t > 0 \\ \end{aligned} $$
(3)
$$ m_{0} = 100,000 $$
(4)
$$ x_{i}^{a,t} + x_{j}^{a,t - 1} - 2.I\left( {x_{i}^{a,t} ,x_{j}^{a,t - 1} } \right) \le 1 \quad\forall i \in \left\{ {1,2, \ldots ,N_{x} } \right\}, \quad\forall j \in \{ 1,2, \ldots ,N_{x} \} ,\quad\forall a,\quad\forall t $$
(5)
$$ x_{i}^{a,t} + x_{j}^{a,t - 1} - 2.I\left( {x_{i}^{a,t} ,x_{j}^{a,t - 1} } \right) \ge 0 \quad\forall i \in \left\{ {1,2, \ldots ,N_{x} } \right\},\quad\forall j \in \{ 1,2, \ldots ,N_{x} \} ,\quad\forall a,\quad\forall t $$
(6)
$$ x_{i}^{a,t} + f_{j}^{a,t} - 2.I\left( {f_{j}^{a,t} ,x_{i}^{a,t} } \right) \le 1 \quad\forall i \in \left\{ {1,2, \ldots ,N_{x} } \right\}, \quad\forall j \in \{ 1,2, \ldots ,N_{f} \} ,\quad\forall a,\quad\forall t $$
(7)
$$ x_{i}^{a,t} + f_{j}^{a,t} - 2.I\left( {f_{j}^{a,t} ,x_{i}^{a,t} } \right) \ge 0 \quad\forall i \in \left\{ {1,2, \ldots ,N_{x} } \right\},\quad \forall j \in \{ 1,2, \ldots ,N_{f} \} ,\quad\forall a,\quad\forall t $$
(8)
$$ x_{j}^{a,t} + b_{k}^{a,t} - 2.I\left( {b_{k}^{a,t} ,x_{j}^{a,t} } \right) \le 1 \quad\forall i \in \left\{ {1,2, \ldots ,N_{x} } \right\}, \quad\forall k \in \{ 1,2, \ldots ,N_{b} \} ,\quad\forall a,\quad\forall t $$
(9)
$$ x_{j}^{a,t} + b_{k}^{a,t} - 2.I\left( {b_{i}^{a,t} ,x_{j}^{a,t} } \right) \ge 0 \quad\forall i \in \left\{ {1,2, \ldots ,N_{x} } \right\},\quad\forall k \in \{ 1,2, \ldots ,N_{b} \} ,\quad\forall a,\quad\forall t $$
(10)
$$ \mathop \sum \limits_{i = 1}^{t - 1} Y_{i} + m_{0} \ge \mathop \sum \limits_{i = 1}^{t} c_{i} \quad\forall t $$
(11)
$$ \mathop \sum \limits_{i = 1}^{{N_{x} }} x_{i}^{a,t} \le 1 \quad\forall a,\quad\forall t $$
(12)
$$ \mathop \sum \limits_{j = 1}^{{N_{f} }} f_{j}^{a,t} \le 1 \quad\forall a,\quad\forall t $$
(13)
$$ \mathop \sum \limits_{k = 1}^{{N_{b} }} b_{k}^{a,t} \le 1 \quad\forall a,\quad\forall t $$
(14)
$$ I\left( {x_{j}^{a,t - 1} ,x_{i}^{a,t} } \right) \in \left\{ {0,1} \right\} \quad\forall i \in \left\{ {1,2, \ldots ,N_{x} } \right\},\quad\forall j \in \left\{ {1,2, \ldots ,N_{x} } \right\},\quad\forall a,\quad\forall t > 0 $$
$$ I\left( {f_{j}^{a,t} ,x_{i}^{a,t} } \right) \in \left\{ {0,1} \right\} \quad\forall i \in \left\{ {1,2, \ldots ,N_{x} } \right\},\quad\forall j \in \{ 1,2, \ldots ,N_{f} \} ,\quad\forall a,\quad\forall t $$
$$ I\left( {b_{k}^{a,t} ,x_{i}^{a,t} } \right) \in \left\{ {0,1} \right\} \quad\forall i \in \left\{ {1,2, \ldots ,N_{x} } \right\},\quad\forall k \in \{ 1,2, \ldots ,N_{b} \} ,\quad\forall a,\quad\forall t $$
$$ t \in \left\{ {1,2, \ldots ,T} \right\} $$
$$ a \in \left\{ {1,2, \ldots ,N_{a} } \right\} $$
$$ x_{i}^{a,t} ,f_{i}^{a,t} ,b_{i}^{a,t} \in \left\{ {0, 1} \right\} \quad\forall i,\quad\forall a,\quad\forall t $$
$$ x_{i}^{a,0} = \left\{ {\begin{array}{*{20}c} 1 & {if} & {i = 0} \\ 0 & {if} & {o/w} \\ \end{array} } \right. $$
(15)

1.2 Quadratic program formulation

The complete quadratic program formulation is given in this appendix:

\( {\text{Maximize}}\mathop \sum \limits_{t = 1}^{T} \left( {Y_{t} - c_{t} } \right) \).

s.t.

$$ c_{t} = \mathop \sum \limits_{a = 1}^{{N_{a} }} \left( {\mathop \sum \limits_{i = 1}^{{N_{x} }} c\left( {x_{i} } \right)x_{i}^{a,t} + \mathop \sum \limits_{i = 1}^{{N_{f} }} c\left( {f_{i} } \right)f_{i}^{a,t} + \mathop \sum \limits_{i = 1}^{{N_{b} }} c\left( {b_{i} } \right)b_{i}^{a,t} } \right) \quad\forall t $$
$$Y_{t} = \mathop \sum \limits_{{i = 1}}^{{N_{x} }} Y\left( {x_{i} } \right)\mathop \sum \limits_{{a = 1}}^{{N_{a} }} x_{i}^{{a,t}} \left( {1 + R\left( F \right) + \mathop \sum \limits_{{j = 1}}^{{N_{x} }} R\left( {x_{j} ,x_{i} } \right)x_{j}^{{a,t - 1}} + \mathop \sum \limits_{{j = 1}}^{{N_{f} }} F\left( {f_{j} } \right)f_{j}^{{a,t}} + \mathop \sum \limits_{{k = 1}}^{{N_{b} }} B\left( {b_{k} } \right)b_{k}^{{a,t}} } \right)\quad\forall t > 0$$
$$ \mathop \sum \limits_{i = 1}^{{N_{x} }} x_{i}^{a,t} \le 1 \quad\forall a,\quad\forall t $$
$$ \mathop \sum \limits_{j = 1}^{{N_{f} }} f_{j}^{a,t} \le 1 \quad\forall a,\quad\forall t $$
$$ \mathop \sum \limits_{k = 1}^{{N_{b} }} b_{k}^{a,t} \le 1 \quad\forall a,\quad\forall t $$
$$ m_{0} = 100,000 $$
$$ t \in \left\{ {1,2, \ldots ,T} \right\} $$
$$ a \in \left\{ {1,2, \ldots ,N_{a} } \right\} $$
$$ x_{i}^{a,t} ,f_{i}^{a,t} ,b_{i}^{a,t} \in \left[ {0,1} \right] \quad\forall i,\quad\forall a,\quad\forall t $$
$$ x_{i}^{a,0} = \left\{ {\begin{array}{*{20}c} 1 & {if} & {i = 0} \\ 0 & {if} & {o/w} \\ \end{array} } \right. $$

Rights and permissions

Reprints and permissions

About this article

Cite this article

Collins, A.J., Vegesana, K.B., Seiler, M.J. et al. Simulation and mathematical programming decision-making support for smallholder farming. Environ Syst Decis 33, 427–439 (2013). https://doi.org/10.1007/s10669-013-9460-7

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10669-013-9460-7

Keywords

Navigation