Developing Data-Driven Optimization Capabilities for Agribusiness Supply Chains in South Africa
Feb 6, 2024
Submitted by Dr. Haitao Li Professor and Chair
Supply Chain & Analytics Department 91Ƭ – St. Louis
Research Activities Prior to the UWC Visit
Prior to my visit to UWC in Summer 2023, I have been working on a farming planning application that aims to optimize the crop portfolio and production planning to satisfy the market demand over a planning horizon. The addressed optimization problem was motivated by the challenges and decision needs at two local farms in the Cape Town area: the Mhani Gingi Community Garden and the Middlepos Farm.
The addressed optimization problem can be described as follows. At the beginning of each planning cycle, the ABC Farm needs to make the following decisions: (i) What produce to grow and to purchase to meet the demand? (ii) How much to grow and to purchase, and at what time periods (e.g., weeks)? The decisions must satisfy the following main constraints (requirements and limits):
- Satisfying the demand of produce in each period of the planning horizon
- Inventory balancing constraint from one period to the next
- Maximum availability of labor cannot be exceeded
- Maximum availability of water cannot be exceeded
- Maximum availability of space cannot be exceeded
The objective is to maximize the total profit as the total revenue subtracting total operational costs consisting of: purchasing cost, production and operating cost, labor cost, and inventory holding cost.
Using the real world data provided by the Mhani Gingi Foundation, a case study is performed to validate the optimization model. In the case study, we consider multiple community gardens with a total of 10 acres and a planning horizon consists of 52 weeks. The basic produce data are collected as shown in Table 1, including time to harvest, lead time to purchase, labor hours required, and % of loss per time period.
Table 1. The basic produce data.
|
Produce |
Time to harvest (Periods) |
Lead time to purchase (Periods) |
Man Hours required per acre |
Fraction Lost per time period |
|---|---|---|---|---|
|
Pumpkin |
16 |
2 |
20 |
0.01 |
|
Beetroot |
8 |
1 |
47.45 |
0.02 |
|
Red Cabbage |
10 |
1 |
117 |
0.05 |
|
Eggplant |
10 |
2 |
82.5 |
0.01 |
|
Cauliflower |
10 |
2 |
25 |
0.03 |
|
Broccoli |
18 |
3 |
50 |
0.02 |
The produce data varying with time include purchasing cost, selling price, demand and water requirement, which is shown in Table 2.
Table 2. The produce data varying with time.
|
Purchase Cost |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Pumpkin |
48 |
48 |
48 |
48 |
48 |
48 |
48 |
48 |
48 |
48 |
48 |
48 |
52.8 |
52.8 |
|
Beetroot |
68 |
68 |
68 |
68 |
68 |
68 |
68 |
68 |
68 |
68 |
68 |
68 |
74.8 |
74.8 |
|
Red Cabbage |
64 |
64 |
64 |
64 |
64 |
64 |
64 |
64 |
64 |
64 |
64 |
64 |
70.4 |
70.4 |
|
Eggplant |
72 |
72 |
72 |
72 |
72 |
72 |
72 |
72 |
72 |
72 |
72 |
72 |
79.2 |
79.2 |
|
Cauliflower |
80 |
80 |
80 |
80 |
80 |
80 |
80 |
80 |
80 |
80 |
80 |
80 |
88 |
88 |
|
Broccoli |
160 |
160 |
160 |
160 |
160 |
160 |
160 |
160 |
160 |
160 |
160 |
160 |
176 |
176 |
|
Selling Price |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
|
Pumpkin |
12 |
12 |
12 |
12 |
12 |
12 |
12 |
12 |
12 |
12 |
12 |
12 |
13.2 |
13.2 |
|
Beetroot |
17 |
17 |
17 |
17 |
17 |
17 |
17 |
17 |
17 |
17 |
17 |
17 |
18.7 |
18.7 |
|
Red Cabbage |
16 |
16 |
16 |
16 |
16 |
16 |
16 |
16 |
16 |
16 |
16 |
16 |
17.6 |
17.6 |
|
Eggplant |
18 |
18 |
18 |
18 |
18 |
18 |
18 |
18 |
18 |
18 |
18 |
18 |
19.8 |
19.8 |
|
Cauliflower |
20 |
20 |
20 |
20 |
20 |
20 |
20 |
20 |
20 |
20 |
20 |
20 |
22 |
22 |
|
Broccoli |
40 |
40 |
40 |
40 |
40 |
40 |
40 |
40 |
40 |
40 |
40 |
40 |
44 |
44 |
|
Demand |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
|
Pumpkin |
0 |
0 |
0 |
3317 |
0 |
0 |
0 |
4623 |
0 |
0 |
0 |
2981 |
0 |
0 |
|
Beetroot |
0 |
0 |
0 |
3589 |
0 |
0 |
0 |
3106 |
0 |
0 |
0 |
4896 |
0 |
0 |
|
Red Cabbage |
0 |
0 |
0 |
3402 |
0 |
0 |
0 |
4286 |
0 |
0 |
0 |
3427 |
0 |
0 |
|
Eggplant |
0 |
0 |
0 |
4761 |
0 |
0 |
0 |
4839 |
0 |
0 |
0 |
4161 |
0 |
0 |
|
Cauliflower |
0 |
0 |
0 |
2819 |
0 |
0 |
0 |
3247 |
0 |
0 |
0 |
2711 |
0 |
0 |
|
Broccoli |
0 |
0 |
0 |
3310 |
0 |
0 |
0 |
3530 |
0 |
0 |
0 |
4256 |
0 |
0 |
|
Water Required/kg |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Pumpkin |
50 |
50 |
50 |
50 |
50 |
50 |
50 |
50 |
55 |
55 |
55 |
55 |
55 |
55 |
|
Beetroot |
30 |
30 |
30 |
30 |
30 |
30 |
30 |
30 |
35 |
35 |
35 |
35 |
35 |
35 |
|
Red Cabbage |
70 |
70 |
70 |
70 |
70 |
70 |
70 |
70 |
75 |
75 |
75 |
75 |
75 |
75 |
|
Eggplant |
10 |
10 |
10 |
10 |
10 |
10 |
10 |
10 |
12 |
12 |
12 |
12 |
12 |
12 |
|
Cauliflower |
22 |
22 |
22 |
22 |
22 |
22 |
22 |
22 |
25 |
25 |
25 |
25 |
25 |
25 |
|
Broccoli |
36.4 |
36.4 |
36.4 |
36.4 |
36.4 |
36.4 |
36.4 |
36.4 |
40.4 |
40.4 |
40.4 |
40.4 |
40.4 |
40.4 |
|
Yield (Kg/acre) |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
|
Pumpkin |
9092 |
9092 |
9092 |
9092 |
9092 |
9092 |
9092 |
9092 |
9092 |
9092 |
9092 |
9092 |
9092 |
9092 |
|
Beetroot |
15000 |
15000 |
15000 |
15000 |
15000 |
15000 |
15000 |
15000 |
15000 |
15000 |
15000 |
15000 |
15000 |
15000 |
|
Red Cabbage |
14000 |
14000 |
14000 |
14000 |
14000 |
14000 |
14000 |
14000 |
14000 |
14000 |
14000 |
14000 |
14000 |
14000 |
|
Eggplant |
24000 |
24000 |
24000 |
24000 |
24000 |
24000 |
24000 |
24000 |
24000 |
24000 |
24000 |
24000 |
24000 |
24000 |
|
Cauliflower |
8094 |
8094 |
8094 |
8094 |
8094 |
8094 |
8094 |
8094 |
8094 |
8094 |
8094 |
8094 |
8094 |
8094 |
|
Broccoli |
2937 |
2937 |
2937 |
2937 |
2937 |
2937 |
2937 |
2937 |
2937 |
2937 |
2937 |
2937 |
2937 |
2937 |
|
Energy Required/kg |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
|
Pumpkin |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
|
Beetroot |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
|
Red Cabbage |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
|
Eggplant |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
|
Cauliflower |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
|
Broccoli |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
The additional operational data include inventory holding cost, maximum water capacity, maximum labor capacity, and fertilizer consumption and cost.
The base scenario was solved with a maximum of R995,717.25. An example of optimal planning solution for Pumpkin is provided in Figure 1. The optimal solution prescribes a combination of planting and purchasing of produce to meet demand during the planning horizon. It also shows the land use and inventory to be carried over time periods. Note that the pattern of planting and purchasing will not be intuitive without the decision-support provided by the optimization model.

The optimization model enables data-driven decision-support for farming planning through the sensitivity analysis (also known as what-if analysis). For instance, one may ask the question what if there is less land available, e.g, reducing from 10 acres to 8 acres. Solving the model with a total of 8 acres of land yields a loss of R466,760.25.
A web-based decision-support tool has been developed with the optimization model being as the “engine”, which takes inputs from user through the graphical user interface (GUI), and outputs solutions after solving the model.
Activities During My Visit to the UWC
The main activities during my visit to the UWC include a research seminar to UWC faculty and students, and a presentation to the Mahni Gingi Foundation as the end-user of this work.
UMSAEP grant. Both presentations are attached with this report.
Optimization Applications in Agriculture and Food Supply Chains-UWC-Haitao Li.pptx
Research Seminar: Optimization Applications in Agriculture and Food Supply Chains
An agribusiness supply chain is a complex system with unique characteristics and challenges, including accessibility, safety, perishability, and low margin. The need for efficient, safe, quality, equitable, and resilient decision-support through all stages of a food chain: growing/production, processing, storage, distribution/transportation, and delivery, create abundant opportunities for prescriptive analytics, or data-driven optimization. In this seminar, I will start with an overview of applications of optimization at the strategic, tactical and operational levels of a food supply chain. I will then showcase my research project in collaboration with the Mahni Gingi
Foundation to address their farm planning decision needs in terms of what, when, how much to grow and purchase to meet the demands. An outline of my talk is provided below:
- Introduction and Overview of Data-Driven Optimization for Agriculture and Food Supply Chains
- Example Applications:
- Strategic: Food Supply Chain Network Design
- Tactical: Food Supply Chain Configuration
- Operational: Food Replenishment and Delivery
-
Farming Planning for the Mahni Gingi Foundation Farm Planning for Mhani Gingi-Haitao Li.pptx
I also met with Dr. Malcolm Garbutt and worked with him and Dr. Douglas Smith on an UMSAEP proposal to address the energy generation in a residential community in South Africa. The proposal was later funded by the UMSAEP program, and Dr. Garbutt just finished his productive visit to UMSL in the last two weeks of Jan 2024. We are now moving full speed on this project. Several other Supply Chain & Analytics faculty, including Dr. Shakiba Enayati and Dr. Temidayo Akenroye, also established connection and potential collaboration with Dr. Garbutt.
Deliverables
The deliverables of this project include:
- This Project Report
- A research article submitted to Transportation Research: Part B. “Optimizing the Configuration of Agri-food Supply Chains with both Demand- and Supply-Side Risks”, 2024.
- A web-based decision-support tool for Farm Planning
Reviewed 2025-10-23