Machine learning-based production optimizer

Machine learning-based approaches generate quantifiable predictions for time-varying parameters, addressing inefficiencies in agricultural optimizers by enhancing yield and cost efficiency in crop extraction and processing.

JP2026516462APending Publication Date: 2026-05-25C3 AI INC
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
C3 AI INC
Filing Date
2024-05-03
Publication Date
2026-05-25

AI Technical Summary

Technical Problem

Existing optimizers struggle with handling non-deterministic parameters and time-varying factors in agricultural harvesting, leading to inefficiencies and errors in maximizing crop extraction while meeting constraints and minimizing costs, as seen in sucrose extraction from sugarcane, where the amount of sucrose extracted varies over time.

Method used

Implementing machine learning-based approaches to generate quantifiable predictions for time-varying parameters, integrating these predictions into optimizers to improve production and process optimization by mimicking first principles of the underlying system, even when data is incomplete or uncertain.

Benefits of technology

Enhances optimization by providing accurate, time-varying inputs to optimizers, reducing errors and improving yield and cost efficiency in agricultural harvesting and processing operations.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026516462000001_ABST
    Figure 2026516462000001_ABST
Patent Text Reader

Abstract

The method includes using at least one processing device (202) to acquire data from one or more data sources (110, 118a-118n) (802), the data being related to or influencing an underlying system to be optimized. The method also includes using at least one processing device to generate a prediction based on the acquired data (804), the prediction representing an estimate associated with one or more time-varying parameters associated with the underlying system. The method further includes using at least one processing device to provide the prediction to an optimizer (114) (806). Furthermore, the method includes using at least one processing device to run the optimizer to produce an optimization result based on the prediction (808), the optimization result being related to the underlying system.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] This disclosure generally covers machine learning-based systems and other predictive systems. More specifically, this disclosure covers machine learning-based approaches and other approaches for generating inputs to optimizers. [Background technology]

[0002] One of the problems commonly encountered during agricultural harvesting is the need to maximize the total amount that can be extracted from the harvested raw crop while meeting constraints such as (i) ensuring that harvesting in certain fields is done solely by hand or by machine, and (ii) not producing and transporting more harvested crop than can be handled by downstream processing capacity, all while minimizing total transportation costs. Furthermore, harvesting can be affected by several unpredictable factors, including weather and other environmental conditions, as well as community behavior (such as theft). This is particularly difficult because the total amount that can be extracted from the raw crop is cyclical, and the raw crop can deteriorate over time. A specific example of this involves extracting sucrose from raw sugarcane, where the amount of sucrose extracted can vary based on (i) the condition of the raw sugarcane at harvest and (ii) the time elapsed between harvest and processing. This type of challenge can be observed in other fields as well, for example, while maximizing power output from a steam engine or optimizing a chemical process.

[0003] Summary of the Invention This disclosure relates to machine learning-based and other approaches for generating inputs to an optimizer.

[0004] In a first embodiment, the method includes using at least one processing device to acquire data from one or more data sources, the data being associated with or influencing an underlying system to be optimized. The method also includes using at least one processing device to generate predictions based on the acquired data, the predictions representing estimates associated with one or more time-varying parameters associated with the underlying system. The method further includes using at least one processing device to provide the predictions to an optimizer. Furthermore, the method includes using at least one processing device to run the optimizer to produce optimization results based on the predictions, the optimization results being associated with the underlying system.

[0005] In a second embodiment, the apparatus includes at least one processing device configured to acquire data from one or more data sources, the data being associated with or influencing an underlying system to be optimized. The at least one processing device is also configured to generate predictions based on the acquired data, the predictions representing estimates associated with one or more time-varying parameters associated with the underlying system. The at least one processing device is further configured to provide the predictions to an optimizer and run the optimizer to generate optimization results based on the predictions, the optimization results being associated with the underlying system.

[0006] In a third embodiment, a non-temporary computer-readable medium, when executed by one or more processors, stores computer-readable program code that causes one or more processors to acquire data from one or more data sources, the data being associated with or influencing an underlying system to be optimized. The non-temporary computer-readable medium also, when executed by one or more processors, stores computer-readable program code that causes one or more processors to generate predictions based on the acquired data, the predictions representing estimates associated with one or more time-varying parameters associated with the underlying system. The non-temporary computer-readable medium further, when executed by one or more processors, stores computer-readable program code that causes one or more processors to provide predictions and generate optimization results based on the predictions, the optimization results being associated with the underlying system.

[0007] Other technical features may be readily apparent to those skilled in the art from the following drawings, modes for carrying out the invention, and claims.

[0008] To better understand this disclosure, refer to the following embodiments for carrying out the invention in conjunction with the accompanying drawings. [Brief explanation of the drawing]

[0009] [Figure 1] This disclosure provides an exemplary system that supports machine learning-based approaches or other approaches for generating inputs to an optimizer. [Figure 2] This disclosure provides exemplary devices that support machine learning-based approaches or other approaches for generating inputs to an optimizer. [Figure 3] This disclosure provides an exemplary environment in which a machine learning-based approach or other approach can be used to generate input to an optimizer. [Figure 4]This disclosure illustrates exemplary machine learning-based approaches or other approaches for generating inputs to an optimizer. [Figure 5] This disclosure illustrates an exemplary iterative process in which a machine learning-based approach or other approach may be used to generate input to an optimizer. [Figure 6] This disclosure illustrates exemplary schedule types that can be generated using machine learning-based approaches or other approaches for generating inputs to the optimizer. [Figure 7] This disclosure illustrates an exemplary process for using a machine learning-based approach or other approach to generate input to an optimizer. [Figure 8] This disclosure provides exemplary methods for generating inputs to an optimizer using machine learning-based approaches or other approaches. [Modes for carrying out the invention]

[0010] Figures 1 to 8 described below, and the various embodiments used in this patent specification to illustrate the principles of the present invention, are for illustrative purposes only and should not be construed as limiting the scope of the invention. Those skilled in the art will understand that the principles of the present invention can be implemented in any type of appropriately placed device or system.

[0011] As described above, one of the problems commonly encountered during agricultural harvesting is to maximize the total amount that can be extracted from the harvested raw crop while meeting constraints such as (i) ensuring that harvesting in certain fields is done solely by hand or by machine, and (ii) not producing and transporting more harvested crop than can be handled by downstream processing capacity, while minimizing total transportation costs. Furthermore, harvesting can be affected by several unpredictable factors, including weather and other environmental conditions, as well as community behavior (such as theft). This is particularly difficult because the total amount that can be extracted from the raw crop is cyclical, and the raw crop can deteriorate over time. A specific example of this involves extracting sucrose from raw sugarcane, where the amount of sucrose extracted can vary based on (i) the condition of the raw sugarcane at harvest and (ii) the time elapsed between harvest and processing. This type of challenge can be observed in other fields as well, for example, while maximizing power output from a steam engine or optimizing a chemical process.

[0012] Over the years, various optimization models and other optimizers have been developed to attempt to optimize agricultural harvesting operations, operations within industrial facilities, or other tasks. However, these optimizers can have several drawbacks. For example, in some applications, certain parameters used by the optimizer may not be deterministic and may fluctuate over time, while optimizers are typically designed to process deterministic inputs to produce appropriate production schedules or other optimized outputs. In these cases, it is usually necessary to estimate specific input values ​​for the parameters, which can introduce errors into the optimization process. For example, these estimations of input values ​​for parameters may be generated using specific types of data, and these estimations may inherently have some extraneous uncertainty based on how the estimations are generated (especially when uncertainty is associated with the specific type of data itself). Furthermore, in some cases, it may be virtually impossible to estimate the input values ​​of specific parameters, and only the trajectory of the specific parameter over time may be identified (without identifying the actual values ​​of the specific parameter).

[0013] As an example of this particular case, in the case of sugarcane harvesting or other agricultural harvests, one fundamental problem in the optimization of agricultural harvest operations is the maximization of a quantity that depends on both one or more optimized variables and one or more time-varying parameters that drive the objective function. Often, the time-varying parameters are typically determined by subject matter experts or simple heuristics. In either case, since the prediction is not based on a complete representation or understanding of the physical world, the mathematical optimization framework operating based on the prediction is not constructed from first principles. For example, it may be desirable to maximize the amount of material that can be produced by processing a harvested crop, such as when attempting to maximize the amount of sugar produced by processing harvested sugarcane. However, organic materials may decompose over time, and the amount of sugar or other products recoverable from the harvested crop is not constant and may vary over time (especially) depending on the time from harvest to processing. Thus, for example, the amount of sugar that can be produced using newly harvested sugarcane may be different if processed today versus if processed tomorrow. It is possible to sample the crop and estimate whether the amount of recoverable sugar or other products is increasing or decreasing over time, but this only provides the estimated trend or trajectory of the sugar / product recovery rate and does not provide quantitative information that can be input into and used by an optimizer.

[0014] This disclosure provides various machine learning-based and other approaches for generating inputs to an optimizer. As described in more detail below, machine learning models or other logic can be used to process input data to an optimizer and generate predictions for use by the optimizer. In particular, this makes it possible for machine learning models or other logic to generate actual quantity predictions or other quantifiable predictions that the optimizer can use to produce improved production schedules or other outputs. This is true even when one or more of the predictions are associated with one or more time-varying parameters of an agricultural process or other process, so that optimization can be improved based on quantifiable predictions associated with non-deterministic parameters.

[0015] It should be noted that the term "optimizer" here may refer to any suitable optimizer configured to produce any suitable optimization result, such as an optimizer used for production schedule optimization (PSO) or an optimizer used for process optimization (PrO). From an agricultural harvesting perspective, production schedule optimization generally includes identifying a schedule for harvesting crops in one or more designated growing areas, based on, for example, the time-series allocation of work teams or other resources to one or more growing areas or parts thereof. From the perspective of processing harvested products, process optimization generally includes identifying a schedule for processing harvested crops, for example, by identifying how equipment in at least one processing facility will be used to process the harvested crops. However, the described approaches can also be applied to non-agricultural use cases, such as when increasing or maximizing the power output of a steam engine, or when optimizing one or more chemical processes in a plant. More generally, the approaches described in this patent specification can be used to determine the schedule status for using a time-varying resource or element that is affected by one or more environmental factors.

[0016] Figure 1 shows an exemplary system 100 that supports a machine - learning - based approach or other approaches for generating inputs to an optimizer according to the present disclosure. For example, the system 100 shown here can be used to support optimization operations involving agricultural harvesting or other use cases. As shown in Figure 1, the system 100 includes user devices 102a - 102d, one or more networks 104, one or more application servers 106, and one or more database servers 108 associated with one or more databases 110. Each user device 102a - 102d communicates via the network 104 via a wired connection, a wireless connection, or the like. Each user device 102a - 102d represents any suitable device or system used by at least one user to provide or receive information, such as a desktop computer, a laptop computer, a smartphone, and a tablet computer. However, any other type or additional types of user devices may be used in the system 100.

[0017] The network 104 facilitates communication between various components of the system 100. For example, the network 104 can communicate Internet Protocol (IP) packets, frame - relay frames, Asynchronous Transfer Mode (ATM) cells, or other suitable information between network addresses. The network 104 can include all or part of one or more local area networks (LANs), metropolitan area networks (MANs), wide area networks (WANs), global networks such as the Internet, or any other communication system(s) at one or more locations.

[0018] The application server 106 is connected to the network 104 and either connected to the database server 108 or otherwise communicates with the database server 108. The application server 106 assists with machine learning-based approaches or other approaches for generating inputs to the optimizer. For example, the application server 106 may run at least one machine learning model or other logic 112 that processes input data to generate inputs to at least one optimizer 114. At least one machine learning model or other logic 112 can be used, for example, to quantify the amount of at least one product that is estimated to be obtained from a crop to be harvested or processed. At least one optimizer 114 can process the input data (including one or more inputs generated by at least one machine learning model or other logic 112) to perform production schedule optimization, process optimization, or other optimizations. Note that the database server 108 may also be used within the application server 106 to store information, in which case the application server 106 may store the information itself used to perform production schedule optimization.

[0019] The database server 108 operates to store various information used, generated, or collected by the application server 106 and user devices 102a to 102d in the database 110, and to facilitate its retrieval. For example, the database server 108 may store various information related to fields or other growing areas, crops being grown in fields or other growing areas, resources available for harvesting crops in fields or other growing areas, or other information used during optimization. The database server 108 may also store the results generated during optimization.

[0020] In this example, at least some of the information used by the application server 106 and / or stored in the database 110 may be received from one or more external systems 118a-118n via at least one additional network 116. For example, network 116 may represent a public data network (such as the Internet) or other network that enables one or more external systems 118a-118n to provide information and receive information related to agricultural harvests. In a specific example, one or more external systems 118a-118n may be used to provide weather information or other information that may affect agricultural harvests, which can then be used by the application server 106 to optimize production schedules, optimize processes, or perform other actions.

[0021] The determined production schedule, or any other optimization results generated by the application server 106, may be used in any appropriate manner. For example, the determined production schedule may be presented to one or more users, such as through one or more of the user devices 102a to 102d. One or more users may review the determined production schedule, modify it, or use it to take other actions. The determined production schedule may further be used by the application server 106 or other devices to automatically schedule the work to be done, such as by automatically scheduling work teams, resource allocation, or other actions. Similarly, the determined process optimization may be presented to one or more users, who may review the determined process optimization, modify it, or use it to take other actions. The determined process optimization may further be used by the application server 106 or other devices to automatically schedule the work to be done, such as by automatically scheduling machining operations involving at least one machining facility. In general, one or more production schedules, process optimizations, or other optimization results can be used in any appropriate manner, with or without user interaction.

[0022] Figure 1 shows an example of a system 100 that supports a machine learning-based approach or other approach for generating input to an optimizer, but various modifications can be made to Figure 1. For example, system 100 may include any appropriate number of user devices 102a-102d, networks 104, 116, an application server 106, a database server 108, a database 110, a machine learning model or other logic 112, an optimizer 114, and external systems 118a-118n. These components may also be located in any appropriate location(s) and distributed over a wide area. Furthermore, Figure 1 shows one exemplary operating environment in which a machine learning-based approach or other approach may be used to generate input to an optimizer, but this functionality can be used in any other appropriate system.

[0023] Figure 2 shows an exemplary device 200 that supports a machine learning-based approach or other approach for generating input to an optimizer, as disclosed herein. One or more instances of device 200 may be used, for example, to perform at least partially the functions of the application server 106 in Figure 1. However, the functions of the application server 106 may be performed in any other suitable way. In some embodiments, the device 200 shown in Figure 2 may form at least part of the user devices 102a-102d, application server 106, database server 108, or external systems 118a-118n in Figure 1. However, each of these components may be implemented in any other suitable way.

[0024] As shown in Figure 2, device 200 represents a computing device or system including at least one processing device 202, at least one storage device 204, at least one communication unit 206, and at least one input / output (I / O) unit 208. The processing device 202 is capable of executing instructions that can be loaded into memory 210. The processing device 202 may include any appropriate number(s) and types(s) of processors or other processing devices in any appropriate arrangement. Examples of processing device types 202 include one or more microprocessors, microcontrollers, reduced instruction set computers (RISC), composite instruction set computers (CISC), graphics processing units (GPUs), data processing units (DPUs), virtual processing units, associative processing units (APUs), tensor processing units (TPUs), visual processing units (VPUs), neuromorphic chips, artificial intelligence (AI) chips, quantum processing units (QPUs), cerebrous wafer-scale engines (WSEs), digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or discrete circuits.

[0025] Memory 210 and persistent storage 212 are examples of storage devices 204 and represent any structure(s) capable of storing information (such as data, program code, and / or other suitable information) temporarily or permanently and facilitating its retrieval. Memory 210 may represent random-access memory or any other suitable volatile or non-volatile storage device(s). Persistent storage 212 may include one or more components or devices that support the long-term storage of data, such as read-only memory, hard drives, flash memory, or optical discs.

[0026] The communication unit 206 assists in communication with other systems or devices. For example, the communication unit 206 may include a network interface card or wireless transceiver to facilitate communication over a wired network or wireless network such as network 104 or 116. The communication unit 206 may assist in communication over any suitable physical or wireless link(s).

[0027] The I / O unit 208 enables data input and output. For example, the I / O unit 208 may provide a connection to user input via a keyboard, mouse, keypad, touchscreen, or other suitable input device. The I / O unit 208 may also send output to a display, printer, or other suitable output device. However, it should be noted that the I / O unit 208 may be omitted if device 200 does not require local I / O, for example, when device 200 represents a server or other device that can be accessed remotely.

[0028] Figure 2 shows an example of a device 200 that supports a machine learning-based approach or other approach for generating input to an optimizer, but various modifications can be made to Figure 2. For example, computing devices and communication devices, as well as computing systems and communication systems, can have a wide variety of configurations. Figure 2 does not limit this disclosure to any particular computing device or communication device or computing system or communication system.

[0029] Figure 3 shows an exemplary environment 300 in which a machine learning-based approach or other approach may be used to generate input to the optimizer, as described herein. More specifically, Figure 3 shows an exemplary environment 300 in which the system 100 may be used to schedule harvesting or processing operations associated with at least one agricultural product. However, this is merely an example, and the system 100 may be used in or in conjunction with any other suitable environment.

[0030] As shown in Figure 3, one or more growing areas 302a to 302n can represent a field or other area where one or more crops are grown. Each growing area 302a to 302n can have any suitable size, shape, and dimensions, and each growing area 302a to 302n can be used to grow any suitable crop. Different growing areas 302a to 302n may be located adjacent to each other, or otherwise close to each other, or relatively far apart (possibly very far apart). One or more of the growing areas 302a to 302n may be optionally divided into multiple sections 304, each section 304 representing a portion of the associated growing area 302a to 302n. Each section 304 can have any suitable size, shape, and dimensions. Each growth area 302a to 302n may have any number and arrangement of plots 304, and different growth areas 302a to 302n may or may not have the same number or arrangement of plots 304.

[0031] The harvesting of crops grown in growing areas 302a to 302n can be carried out using various resources 306. In this example, resources 306 include a human work team 308 and mechanical resources 310. A human work team 308 represents one or more groups of people who can harvest crops by hand, and mechanical resources 310 represent one or more automated or manual machines that can be used to harvest crops mechanically. System 100 can be used to schedule the harvesting of different growing areas 302a to 302n or plots 304 in growing areas 302a to 302n by different resources 306, such as by generating one or more schedules that indicate which growing areas 302a to 302n or plots 304 will be harvested by resources 306 and when they will be harvested, as described below. As a specific example, different resources 306 may be allocated to harvest crops from different growing areas 302a-302n or plots 304, so that harvesting by each resource 306 can focus on clusters of plots 304 within a given two-week period or other parts of the harvest season. Often, the schedule can be generated from an initial 60-day plan, or from other plans that occur before a two-week period or other parts of the harvest season, for example, to reduce or minimize the transportation costs of heavy machinery (mechanical resources 310) used during harvesting.

[0032] The ability to generate a schedule for allocating resources 306 to harvest from clusters in plot 304 can help avoid the problem of too many crops ripening simultaneously or nearly simultaneously. For example, the harvest planner can stagger the planting and / or introduction of ripening agents to crops, and this staggering can help reduce or avoid the possibility that all or most of the crops will ripen simultaneously or nearly simultaneously. While there is usually no capacity to harvest all crops at the same time, different clusters in plot 304 can have crops ripening at different times, which makes it possible to allocate the same resources 306 to different clusters in plot 304. As a result, the number of plots 304 that can be predicted to be ready for harvest within a given two-week timeframe or other period is much smaller.

[0033] Harvested crops are generally transported to one or more processing facilities 314 for processing via one or more trucks 312, etc. Each truck 312 can have any suitable capacity for transporting the harvested crops, and different trucks 312 may or may not have different capacities. In some embodiments, different trucks 312 may have different capacities because they may include different numbers of trailers. As a specific example, a double truck 312 may have two trailers, a high-performance truck 312 may have four or five trailers, and a top-performance truck 312 may have up to seven trailers, each trailer having a capacity of 100 tons. However, these examples of trucks 312 and their capacities are illustrative only.

[0034] Each processing facility 314 can be used to process harvested crops, such as by extracting sugar from harvested sugarcane, removing seeds from harvested corn, or otherwise processing the harvested crop. For certain crops, transportation may need to take place on the same day or within a short period of time to reduce or minimize loss and / or waste of contents, such as by decomposing the harvested crop. For example, sugarcane often needs to be processed on the day it is harvested to maximize sugar recovery. However, each processing facility 314 has a limited processing capacity (e.g., in terms of tons per day), and both planned and unplanned downtime of the processing facilities 314 can occur. As a result, transporting any amount of harvested crop to each processing facility 314 is generally not feasible.

[0035] System 100 can be used to optimize agricultural harvesting operations involving crops in growing areas 302a-302n, as described below, thereby potentially reducing or minimizing total transportation and operating costs while increasing or maximizing the yield of one or more products from one or more processing facilities 314. In the context of agricultural harvesting, it should be noted that yield (the amount of products produced by one or more processing facilities 314) is different from harvest yield (the amount of crops harvested using resources 306). This is due to the fact that harvested crops are organic material and may decompose over time, or simply that certain crops may not be ripe enough to be harvested. This behavior can be modeled using a time-varying parameter, referred to below as "yield." Yield can be predicted using sophisticated models, such as data-driven models or other types of models. In some cases, harvest planners may typically be interested in reducing or minimizing costs, but increasing or maximizing yield may be prioritized. In some embodiments, the objective function used by the optimizer 114 may include a weighted sum of output and cost, where the weights can be varied to achieve a desired trade-off between output and cost.

[0036] During optimization, it may be assumed that all human work teams 308 and mechanical resources 310 will be working at full capacity for all assigned harvesting tasks. Furthermore, in many cases, agricultural harvesting of each growing area 302a-302n or plot 304 may be carried out either manually or mechanically, and it may be assumed that either a manual human work team 308 or mechanical resources 310 (but not both) will be assigned to harvest the crops in each cluster of plot 304. Nevertheless, in some examples, it may be strongly preferred that a given growing area 302a-302n or plot 304 be harvested solely by human work teams 308 or mechanical resources 310. Additionally, specific situations often exist that must be considered. For example, it may be true that any growing area 302a-302n that can be harvested mechanically can also be harvested manually, but it may also be true that certain growing areas 302a-302n or plot 304 should be harvested solely by manual means. With this in mind, the optimizer 114 may prioritize directing the human work team 308 to growing areas 302a-302n or plot 304 that should be harvested by hand only, and may allocate mechanical resources 310 to other growing areas 302a-302n or plot 304 whenever possible.

[0037] All of this information can be taken into account using the optimizer 114 to generate a schedule for assigning human work teams 308 and mechanical resources 310 to harvesting plots 304 of one or more different clusters of growing areas 302a-302n over a period of two weeks or other time horizon. The generated schedule may be expressed in any suitable way depending on the embodiment and may include any relevant information. For example, in some cases, the generated schedule may include, for each cluster of plots 304, the distance between the cluster and the associated processing facility 314, the truck 312 to be used, the maximum speed of the truck 312, the number of cycles of the truck 312 between the cluster of plots 304 and the processing facility 314, the type of harvest (manual or mechanical), the type of harvester and its associated efficiency (e.g., tons per day), estimated transport costs, estimated total yield (e.g., tons), estimated purity of the harvested crop, and estimated Brix of the harvested crop. Brix represents a measure of dissolved solids (such as sugar) in a liquid. However, please note that each generated schedule may include any other or additional information as needed or desired, depending on the circumstances.

[0038] In some embodiments, the objective function, decision variables, problem coefficients, constraints, and algorithm for generating the harvest schedule can be defined as follows. The following set is defined and can be used during optimization. L is the number of plots 304 to be harvested in a given two weeks or other horizon. In some cases, |L| ≈ 300. ma F is a plot 304 that can be harvested by hand only. If plot 304 can be harvested by machine, it is assumed that plot 304 can be harvested by hand. F is a set of resources 306, including a human work team 308 and mechanical resources 310. It is assumed that the allocation of resources 306 to the cluster of plot 304 includes either manual resources 306 only or mechanical resources 306 only (but not both). In some cases, it may be strongly preferred to harvest a given growing area 302a-302n or plot 304 using only one or only the other. Taking this into consideration, Fma and F mc represent manual labor and mechanical resources 306, respectively, and F = F ma [Number] F mc is. Let M be the set of all trucks 312 available at harvest time. In some cases, there may be three types of trucks 312, each assumed to have a different capacity as described above. Considering this, for m ∈ {1, 2, 3}, M m represents the set of trucks 312 from type m, and M = [Number] M m shall be taken to mean. Let H be the set of all harvesters, which can vary based on their different efficiencies (tons per day, etc.). For example, if there are three harvesters for m ∈ {1, 2, 3}, H m is the set of harvesters from type m, and H = [Number] H m shall be taken to mean. Let T represent the set of time stamps such as the number of days in the planning horizon. In some cases, |T| = 15. Let S be the set of holders, and S m shall be the set of holders for manual harvesting.

[0039] The following decision variables are defined and can be used during optimization. x l,t ∈ [Number] represents the total amount of crops harvested from plot l on day t (in tons or kilograms, etc.), where l ∈ L and t ∈ T. [Number] ∈{0,1} indicates whether track m is scheduled for a partition l over t days, where l∈L, t∈T, and m∈M.

number

number

number

number

number

number

[0040] The following parameters are defined and can be used during optimization: D l This represents the distance from section l to the related processing facility 314. l∈L K t This represents the capacity of processing facility 314 on day t (taking downtime into consideration). l ∈

number

number

number

[0041] Based on this, we can define an objective function that will be used by optimizer 114 to optimize the harvest schedule. In some cases, the objective function can be defined using mixed-integer linear programming (MILP). As a specific example, in some embodiments, the objective function may be defined as follows:

number

number

number

number

number

number

number

number

number

[0042] Figure 4 illustrates an exemplary machine learning-based approach or other approach for generating inputs to the optimizer 114 according to this disclosure. As described above, some terms in equation (1) can be determined deterministically (e.g., transportation costs), but the objective function of equation (1) includes at least one term based on time-varying yield. The optimizer 114 typically requires quantifiable inputs to operate effectively, and time-varying inputs, such as time-varying yield, are typically not deterministically determined. To compensate for this, a machine learning model or other logic 112 can be used to process the input 402 and generate one or more inputs to the optimizer 114. The input 402 herein is intended to be provided to the optimizer 114, but may include one or more inputs that are first modified or otherwise processed using a machine learning model or other logic 112. The input 402 here may include data from one or more data sources (such as database 110 or one or more external systems 118a-118n) that the machine learning model or other logic 112 can process to derive or otherwise generate one or more inputs to the optimizer 114. As an example of the latter, the machine learning model or other logic 112 may process data from several sources, such as weather, crop location, irrigation supplied to the crop, crop maturity, field type in which the crop is growing, or other relevant data, to generate an estimate of the amount of harvestable produce from the crop, based on when the crop harvest is scheduled or can be scheduled.

[0043] Here, the optimizer 114 effectively performs optimization using partial knowledge of first principles. First principles represent the fundamental operation of the underlying system, and the first principles of the underlying system can, in some cases, be known. However, in other cases, the first principles of the underlying system cannot be specifically defined due to various uncertainties associated with either the underlying system itself or its inputs. For example, there may be physical properties of materials (such as harvested crops) or processing equipment (such as a crusher or other crop processing equipment) that are not measured or cannot be measured. To compensate for this, machine learning models or other logic 112 can be used to mimic the physical or other behavior of growing crops, thereby providing useful information to the optimizer 114. In other words, machine learning models or other logic 112 are used to mimic the first principles of the underlying agricultural system or other system, and may be based on a partial understanding of the first principles of the underlying system. The information obtained using machine learning models or other logic 112 is provided to the optimizer 114. In this example, the optimizer 114 can create a schedule 404 to identify which resources 306 are allocated to be harvested from which growing areas 302a-304n or plot 304, and when they will be harvested.

[0044] In the above formula and explanation, it is assumed that the optimizer 114 is used to optimize the production schedule, and resource 306 is allocated to harvesting crops from plot 304 with the aim of increasing or maximizing the yield of the product (while potentially reducing or minimizing transportation costs or other costs). However, the same type of approach can be used to assist in process optimization, using the optimizer 114 to determine how the equipment in at least one processing facility 314 operates. In this case, too, the aim can be to increase or maximizing the yield of the product (while potentially reducing or minimizing labor costs or other costs).

[0045] To assist in process optimization, an objective function can be generated based on the equipment used in the processing facility 314. Based on this, the optimizer 114 can use the objective function to control the operation of each piece of equipment within the processing facility 314. Here, a machine learning model or other logic 112 can be used to mimic the first principles of the underlying equipment within the processing facility 314, thereby enabling the machine learning model or other logic 112 to predict various characteristics of the process. This information can be used by the optimizer 114 to control the equipment within the processing facility 314, for example, by setting one or more setpoints used by the equipment within the processing facility 314. Examples of setpoints that can be controlled include the flow rate of absorbent water, the flow rate of coagulant, and the flow rate of wash water. The setpoints that can be controlled may further or or may include ratios of the settings, such as the (absorbent water / stem) ratio or the (coagulant / clarifier flow rate) ratio.

[0046] A machine learning model or other logic 112 can be implemented in any suitable way. In some cases, for example, a machine learning model or other logic 112 is implemented using a machine learning model architecture such as a neural network. A neural network or other machine learning model architecture can be trained in any suitable way, such as by providing training data to the machine learning model architecture and changing the weights or other parameters of the machine learning model architecture until the machine learning model architecture produces results with sufficient precision. This allows the machine learning model architecture to be trained to predict various parameters with desired precision. In other cases, a machine learning model or other logic 112 may use one or more stochastic optimization techniques, such as simulation-based techniques (such as Monte Carlo simulation) or reinforcement learning techniques, to perform optimization with uncertainty.

[0047] In whatever manner the machine learning model or other logic 112 is implemented, the machine learning model or other logic 112 is used within the optimization framework to handle the time variation of one or more parameters in the objective function of the optimizer 114. As a result, the machine learning model or other logic 112 can be used in applications such as those shown in Figure 3, and the machine learning model or other logic 112 can be used in MILP or other optimization frameworks to assist in optimization involving one or more growing regions 302a-302n, each of which may have different yields from day to day or from period to period. The machine learning model or other logic 112 can be used to assist in estimating the net amount of what can be extracted from a growing crop by determining a time-varying estimate of the true amount. In this way, optimization can be performed with partial knowledge of first principles using the machine learning model or other logic 112 and the optimizer 114. The machine learning model or other logic 112 can also be configured to generate predictions even when some of the input data is missing, thereby enabling the machine learning model or other logic 112 to assist in data completeness.

[0048] Figure 5 shows an exemplary iterative process 500 in which a machine learning-based approach or other approach may be used to generate input to an optimizer, as described herein. As shown in Figure 5, the process 500 includes a prediction stage 502 and an optimization stage 504. The prediction stage 502 generally represents the actions performed by a machine learning model or other logic 112 to generate predictions for one or more time-varying parameters, and the optimization stage 504 generally represents the actions performed by an optimizer 114 to generate a schedule or other optimized output, where the optimization stage 504 generates a schedule or other optimized output based at least in part on the predictions for one or more time-varying parameters.

[0049] As can be seen in Figure 5, at least some of the output or other data generated during the optimization phase 504 can be provided as feedback to the prediction phase 502. In some earlier agricultural optimization approaches, prediction and optimization are entirely separate processes, with prediction typically performed first, and then the resulting predicted values ​​provided as input for use during optimization. This approach tends to be slow, which is particularly problematic when producers or other stakeholders want to run multiple simulations to see if they can improve yields by varying the harvest schedule. Simulations that require considerable time may limit the number of different scenarios that can be analyzed.

[0050] The approach shown in Figure 5 iteratively combines the use of prediction and optimization, which can offer various advantages. For example, a prediction stage 502 performed using a machine learning model or other logic 112 can more efficiently handle the presence of outliers in the input 402, as a machine learning model or other logic 112 can provide a suitable prediction based on the input 402 even when outliers are present. Similarly, a prediction stage 502 performed using a machine learning model or other logic 112 can more efficiently handle the presence of defects (such as outliers) in the input 402, as a machine learning model or other logic 112 can provide a suitable prediction based on the input 402 even when defects are present in the data. In some cases, outliers can be determined based on an understanding of one or more statistical tools (such as one or more statistical tests for outlier detection, residual analysis, or machine learning algorithms) and the first principles of the underlying system (such as physical laws regarding how crops grow or how sucrose extraction equipment or other processing facility equipment operates).

[0051] In some embodiments, the presence of outliers can be handled through appropriate training of a machine learning model or other logic.112 For example, a machine learning model may be built using a complete time series dataset that may contain outliers. The error of the machine learning model is calculated by taking the difference between the time series forecast generated by the machine learning model and the actual time series data, and the error data variability is calculated. Data points in the time series data that are outside a specified error variance threshold (e.g., two or three standard deviations away from the mean) are determined to be outliers and can be excluded from the time series data to create a clean dataset. The process can be repeated by returning to the calculation of the error of the machine learning model (second step) and repeating the subsequent steps until one or more criteria are met. For example, the number of points in the clean dataset that do not meet the threshold may be below the threshold amount (e.g., less than 1%), or the clean data may be reduced to below the threshold size (e.g., 80% of the total dataset size). At that point, the dataset may be determined to appropriately remove outliers.

[0052] Furthermore, the ability to feed back optimizations for use between subsequent forecasts makes it possible to consider the effects of optimizations when generating additional forecasts. For example, the effects of harvests in the current planning horizon can be used to determine the effects of harvests in subsequent planning horizons, thereby making it possible to determine how to increase or maximize production over a longer period. In addition, feedback optimization can help machine learning models or other logic 112 identify forecasts that may not have been accurate or precise, such as forecasts that suffer from excessive forecast errors. If machine learning models or other logic 112 can take these forecast errors into account when generating additional forecasts, they may be able to generate more precise forecasts over time. Furthermore, the ability to speed up the optimization process can help avoid using outdated data. In some cases, for example, there may be a need or demand to generate optimizations daily or within some other relatively short period, and the described techniques can help to perform optimizations more quickly, thereby enabling the generation of optimizations using newer data.

[0053] It should be noted that the described techniques can be easily scaled to assist in optimization involving any number of growing areas 302a-302n and / or any number of processing facilities 314. One or more optimizers 114 can process inputs containing predicted values ​​for one or more time-varying parameters to optimize crop harvesting and / or processing, as long as one or more machine learning models or other logic 112 can generate appropriate predicted values ​​for one or more time-varying parameters associated with growing areas 302a-302n or processing facilities 314. For example, growing areas 302a-302n can be divided by continents or other geographical boundaries, and different machine learning models or other logic 112 can be used for different groups of growing areas 302a-302n associated with different continents or other geographical boundaries. Also, one or more growing areas 302a-302n may be able to supply harvested crops to multiple processing facilities 314, and one or more machine learning models or other logic 112 can be used to generate different predictions based on which processing facility 314 received a particular harvested crop.

[0054] It should be noted that a considerable number of fields or other growing areas 302a–302n, coupled with a long harvest schedule, can typically make it extremely difficult to resolve optimization issues in a short time (e.g., within a few hours). As a result, harvest planners tend to distribute growing areas 302a–302n over a longer time horizon, so that clusters of growing areas 302a–302n or plots 304 are harvested within the target period. These growing areas 302a–302n or plots 304 can be selected based on predictions of specific parameters unique to each crop type. For example, in sugarcane harvesting, purity and Brix can be considered. In corn or soybean harvesting, yield can be considered. These predictions depend on various data sources, including satellite imagery of the field, irrigation type (such as drip or sprinkling), number of fertilizer applications, type(s) of fertilizer applied, dosage(s) of fertilizer / maturation agent applied, age of each field, and other factors.

[0055] In agricultural yield optimization problems, predicted values ​​are included as parameters of the objective function, so accurately predicting these values ​​can be extremely important. Yield can be predicted automatically for the optimization horizon, for example, by using at least one machine learning model or other logic 112. In some cases, this can be accomplished using one or more external data resources. Thus, the optimizer 114 can have the ability to dynamically adjust the growth areas 302a-302n or clusters of plots 304, and the time horizon to be optimized. Furthermore, uncertainty in the objective term can be directly considered without explicitly predicting certain parameters, for example, by applying stochastic optimization, reinforcement learning, or other decision-making techniques. The techniques described herein enable more accurate predictions provided to the optimizer 114 for use.

[0056] The harvesting of organic materials and their transportation to processing facilities 314 is often a complex operation requiring meticulous planning throughout the harvest season. Harvest planners are typically interested in maximizing crop yields, such as sugar yield measured in tons per hectare for sugarcane harvests, or seed yield measured in kilograms per hectare for corn harvests. Determining yield parameters is a complex task that depends on various types of external data, including weather, location, irrigation, maturity, field type, and other factors depending on the individual potential use. Because some of these variables are time-varying and resources and capacity are limited, the associated optimization problem is well-suited to being formulated as a multi-horizon, multi-objective mathematical program. In its simplest form, a solution to such an optimization problem may yield a resource allocation plan indicating which resources 306 should be allocated to a given field or other growing area 302a-302n during a given day or period. Often, harvesting currently relies on a combination of manually generated schedules and field observations. As a result, the schedule is slow to respond to changing conditions and cannot properly balance maturity, yield, and milling capacity. Consequently, stakeholders may occasionally have to rely on third-party trucks, milling machines, or other resources, or harvest in a low-yield form, such as after sugar content has started to decline, which can significantly increase operating costs.

[0057] The techniques described in this patent document assist in the use of an optimization framework for agricultural harvesting processes, which can be applied to actual harvesting scenarios (including many fields or other growing areas 302a-302n with time-varying yields). Such formulations may still involve a large number of binary variables, such as thousands or tens of thousands of variables. Furthermore, stakeholders may be interested in verifying the proposed schedules for different scenarios. As a result, any optimization can be fast enough to handle a large number of variables and generate proposed schedules for different scenarios. To achieve this, one approach to make the problem manageable in a reasonable amount of time can be to limit the number of fields or other growing areas 302a-302n or plots 304, and the number of days or other periods under consideration. This may indeed be the case in practice, and harvest planners may follow a hierarchical approach. For example, a basic harvesting schedule (usually a horizon of several months) can be created, thereby producing an overall budget. Subsequently, a maturation schedule can be applied to reduce the number of growing areas 302a–302n or plot 304 (which can typically be several thousand). This creates a set of growing areas 302a–302n or plot 304 with a known maturation distribution or yield over the next few weeks, and the harvest schedule for this final operation can be optimized as described above.

[0058] Figures 3-5 illustrate examples of machine learning-based or other approaches for generating inputs to the optimizer and related details, but various modifications may be made to Figures 3-5. For example, the specific environment 300 shown in Figure 3 is merely illustrative. Any suitable number of machine learning models or other logic 112 and any suitable number of optimizers 114 may be used. Furthermore, the machine learning models or other logic 112 may be used with the optimizer 114 as part of an iterative process 500, as shown in Figure 5, or as part of a non-iterative process, such as when the output from the machine learning models or other logic 112 is provided to the optimizer 114 without feedback.

[0059] It should be noted that U.S. Patent Publication 2023 / 0297089A1 (which is incorporated herein by reference in its entirety) discloses a resource task network (RTN)-based templated production schedule optimization framework. Consider the harvesting process for a field or other growing area 302a–302n and assume that the total amount of crop that can be harvested at the start of the planning horizon is known. Also assume that the crop yield in this growing area 302a–302n is represented by a parameter whose value can be obtained by any suitable method (such as those described above). In some cases, this parameter may represent the percentage of sugar that can be extracted from raw sugarcane. On a given day, the optimizer 114 may decide to harvest a specific amount of crop from this growing area 302a–302n by considering the yield, available crop, and available resources 306, and this decision determines the crop available on the following day. A similar context is introduced in U.S. Patent Publication 2023 / 0297089A1, where the inventory level of each material used in a process can be calculated based on the resource-task relationship that links the materials. This relationship is referred to as the material balance constraint, and the formulation provided in this patent document follows the same idea. However, RTN-based PSOs cannot be directly applied here because there is uncertainty in the objective function via yield, which can be propagated through different approaches, such as adjusting the ripener and making it part of the decision variable (which may not be supported by RTN-based PSOs).

[0060] In one example, optimizer 114 generates daily schedules for harvesters and teams. That is, it is known which resources 306 and which tracks 312 will be assigned to each field or other growing area 302a-302n of the horizon. The next step may be to optimize the schedule at a daily level, with the objective being to minimize the total span time of each team or other resource 306 used in a day within that growing area 302a-302n. This may also depend on additional constraints, such as worker shifts. In this case as well, this is very similar to the framework disclosed in U.S. Patent Publication 2023 / 0297089A1, where a production plan can be generated at a daily level, and then sub-daily production schedules can be generated. Thus, the technique disclosed in U.S. Patent Publication 2023 / 0297089A1 can be used here to assist in generating sub-daily production schedules.

[0061] Furthermore, it should be noted that the above description assumes that a machine learning model or other logic 112 is used to generate predictions of one or more time-varying parameters used by the optimizer 114. However, predictions are often accompanied by uncertainty, and one of the problems that may arise is how to deal with these uncertainties. In some embodiments, a probabilistic approach may be used to generate predictions, such as by sampling from a distribution defined by the uncertainty. This may or may not be done using a machine learning model or other logic 112.

[0062] Figure 6 shows an exemplary schedule type that can be generated using a machine learning-based approach or other approach to generate input to the optimizer, as disclosed herein. For example, this schedule type can be generated using a machine learning model or other logic 112 and optimizer 114 of application server 106, as described above. However, this schedule type can be generated in any suitable system using any suitable device(s).

[0063] As shown in Figure 6, the initial schedule 600 may be generated during the optimization of a specific period starting at time t=0. The initial schedule 600 includes allocations 602 that identify when teams or other resources will be allocated to perform crop harvesting or other functions. Each allocation 602 may represent the allocation of specific teams or other resources to a particular growing area 302a-302n or a particular plot 304 or a set of plots 304. In this example, the initial schedule 600 is generated based on a forecast 604 of the amount of at least one recoverable product that is expected to be obtained as a result of crop harvesting.

[0064] During the next optimization, an updated schedule 606 may be generated for a specific period starting at time t=1. The updated schedule 606 also includes various assignments 608 that identify when the same team or other resources will be assigned to perform crop harvesting or other functions. However, here we can see that assignment 608 has changed from assignment 602. This may be due to an updated forecast 610 of the amount of at least one recoverable product that is expected to be obtained as a result of crop harvesting. The change in forecast may be due to several factors, such as changes in weather or other time-varying conditions. As can be seen here, the technique described may allow optimization to occur repeatedly and resource usage to be adjusted based on the updated optimization results. In some cases, optimization may be performed regularly, such as daily or at any other appropriate time.

[0065] Figure 6 shows an example of a schedule type that can be generated using a machine learning-based approach or other approach to generate input to the optimizer, but various modifications can be made to Figure 6. For example, resource usage schedules can be expressed in any number of ways, and Figure 6 does not limit the scope of this disclosure to any particular embodiment.

[0066] Figure 7 shows an exemplary process 700 for using a machine learning-based approach or other approach to generate input to the optimizer, as disclosed herein. For example, process 700 may be performed using a machine learning model or other logic 112 and optimizer 114 of application server 106, as described above. However, process 700 may be performed in any suitable system using any suitable device(s).

[0067] As shown in Figure 7, process 700 generally includes several subprocesses 702-712 that can be used collectively to perform process optimization. In this example, subprocess 702 represents or includes an operation used to retrieve process-related data from one or more data sources. In some embodiments, the process-related data represents data associated with at least one processing facility 314 used to process harvested crops. Any suitable process-related data can be retrieved here.

[0068] In this particular example, process-related data includes programmable logic controller (PLC) / distributed control system (DCS) data 714 associated with at least one processing facility 314. For example, PLC / DCS data 714 may represent data generated or used by one or more programmable logic controllers or distributed control systems implemented in at least one processing facility 314. PLC / DCS data 714 may include both historical and current data generated or used by one or more programmable logic controllers or distributed control systems. In other words, PLC / DCS data 714 may include previous or historical PLC-related data or DCS-related data, and current PLC-related data or DCS-related data.

[0069] Process-related data also includes laboratory data 716, which refers to data generated in one or more laboratories associated with at least one processing facility 314. For example, laboratory data 716 may include analytical results obtained by manual or automated processing of crop samples taken over time, such as laboratory estimates of the amount of sucrose contained in sugarcane samples. In this case as well, laboratory data 716 may include both historical and current data generated in one or more laboratories. In other words, laboratory data 716 may include previous or past laboratory analysis results and current laboratory analysis results.

[0070] Process-related data further includes process flow diagram (PFD) / process and instruction diagram (PID) data 718, which refers to a diagram or other data defining how a material, such as a harvested crop, is processed within at least one processing facility 314. For example, the PFD / PID data 718 may identify processing equipment and the flow of material between processing equipment within at least one processing facility 314. Process-related data also includes equipment datasheet / specification data 720, which may include data identifying the operating characteristics of processing equipment. For example, the equipment datasheet / specification data 720 may include the maximum or minimum temperature, pressure, flow rate, or other characteristics of processing equipment within at least one processing facility 314. Furthermore, process-related data includes economic data 722, which may relate to market data or other economic-related data associated with the crop being processed or the crop being processed. Examples of economic data 722 may include market prices, market analyses, or contracts involving at least one facility 314 for one or more final products (such as recoverable sucrose or other products from the harvested crop).

[0071] Subprocess 704 represents or includes operations used to preprocess at least a portion of the raw data to be acquired. In this particular example, subprocess 704 includes data cleaning operations 724 and 726, which can be used to clean PLC / DCS data 714 and laboratory data 716, respectively. For example, data cleaning operations 724 and 726 may include operations used to remove outliers from data 714-716 (such as in the methods described above), filter or smooth data 714-716, perform linear interpolation to generate missing or additional data, or otherwise create a clean data stream.

[0072] Subprocess 706 represents or includes operations used to generate one or more machine learning models 728 and one or more material balances 730, which may be associated with at least one facility. For example, subprocess 706 may involve training one or more machine learning models to predict various properties of at least one processing facility 314 based on clean data 714-716. In a specific example, one or more machine learning models may be trained to predict the physical properties of processing equipment within at least one processing facility 314 when processing harvested crops or other materials. These predictions can then be used to identify processing equipment settings that can be used to increase or maximize the amount of one or more products that can be produced using the processing equipment. One or more material balances 730 may be defined based on how materials such as harvested crops are processed by the processing equipment and move within at least one processing facility 314. One or more material balances 730 may be based on factors such as conservation of matter, laws of thermodynamics, and known reaction chemistry related to the processing equipment.

[0073] Subprocess 708 represents or includes an operation used to integrate one or more machine learning models 728 and one or more material balances 730 to generate one or more machine learning models 732. While one or more machine learning models 728 can be trained to predict the physical properties of processing equipment within at least one processing facility 314, there are limitations to these physical properties. For example, the temperature, pressure, and flow rate within or associated with the processing equipment may limit how harvested crops or other materials can actually be processed under realistic operating conditions. Using subprocess 708, one or more multiple machine learning models 728 can be retrained based on one or more material balances 730, thereby enabling one or more fused machine learning models 732 to generate realistic predictions about the processing equipment.

[0074] Subprocess 710 represents or includes an operation used to combine one or more blended machine learning models 732, constraints 734, and one or more objective functions 736 into an integrated optimization model 738 used for optimization. One or more objective functions 736 can be used to define one or more objectives for controlling processing equipment in at least one processing facility 314. At least one of the one or more objective functions is typically based on economic data 722, such as when using the objective function 736 to increase or maximize the monetary value of the product(s) recovered from the harvested crop or other material being processed. The integrated optimization model 738 is used in subprocess 710 to perform optimization based on one or more objective functions 736.

[0075] In some cases, optimization can occur in two phases 740-742. In the first phase 740, optimization may minimize the use of slack variables in one or more objective functions 736 using the integrated optimization model 738. One or more slack variables can be added to at least one objective function 736 to allow for small discrepancies between certain constraints and to increase the flexibility of optimization. These discrepancies may be due to several factors, such as the failure of one or more sensors or other equipment, and one or more slack variables can be added to the objective function 736 to account for these issues. However, it may be undesirable to allow the use of slack variables in a particular way during optimization, such as when the fused machine learning model 732 may use the slack variables to make adjustments that are not actually possible. Therefore, the first phase 740 here may involve minimizing the use of slack variables in the optimization, which may, in some cases, be achieved by imposing a penalty on the use of slack variables in one or more objective functions 736. In the second phase 742, the integrated optimization model 738 can be used to maximize the potential benefits associated with crop harvesting. Here, the second phase 742 can use the values ​​of the slack variables(s) determined in the first phase 740.

[0076] The optimizations identified here using subprocess 710 may include optimized PLC / DCS data 744 that can represent (among other) settings or other settings associated with processing equipment within at least one processing facility 314. Subprocess 712 represents or includes an action that may be used to optionally roll back the optimized PLC / DCS data 744 to the original data stream(s) to provide recommendations to subject matter experts or manufacturing operators.

[0077] As a specific exemplary application of process 700, we consider process optimization applied to the processing of raw sugarcane to extract sucrose from raw sugarcane. After the sugarcane is harvested, it can enter a processing facility 314, where it undergoes various processes until it is finally produced as raw sugar, which is nearly pure sucrose. These processes often include juice extraction, juice clarification, and syrup clarification, each of which involves multiple stages associated with different processing equipment such as crushers, grinders, flash tanks, heaters, pots, and centrifuges.

[0078] Process 700 can be used to maximize sucrose extraction yield, which can be defined as the percentage of sucrose recovered in raw sugar. This involves a combination of first-principles foundations (such as material balance), machine learning linear regression or other machine learning models, and MILP optimization. Process 700 can be used here to combine separate data streams related to sugarcane processing in order to increase sugar recovery rates. Here, process 700 can be used to combine data streams from different data sources in order to develop one or more machine learning models 728 and one or more associated and fused machine learning models 732, physical constraints 734, and one or more objective functions 736 and associated economic target functions. These can be combined into an integrated optimization model 738 that predicts sugar yield recovery rates and physical specifications. Sugar recovery rates can be improved by optimizing the integrated model 738 in accordance with the physical constraints and specifications. In some cases, the results can be rolled back into the original data stream(s).

[0079] In sugar production (as well as other harvested crop processing and other processes), dissimilar data streams, such as those described in Data 714-722 above, can be utilized. Each of these data streams may provide one or more dimensions of knowledge (though not all) to the underlying process. Integrating and matching these data streams could enable the underlying process to increase yield, but this integration is difficult due to the inconsistent nature of the data. For example, each dataset may reside in a different data system and may require specialized knowledge to understand. Furthermore, this data is often noisy and incomplete. While subject experts can successfully improve products as part of the manufacturing process using first-principles physical relationships and heuristics, integrating all of this data into a single dataset to leverage the multidimensional nature of the manufacturing problem is an extremely complex task. Moreover, because the underlying process is dynamic, experts need to continuously revisit the data to provide updated recommendations so that yields do not decline over time. Therefore, given the scattered datasets and highly variable processes, manufacturing sites are using first-principles modeling to address some localized process improvements instead of being able to solve broad-ranging recovery and optimization problems.

[0080] The techniques of this disclosure can be used to aggregate and integrate data within a single, unified data model. For example, to develop an integrated optimization model 738, the following may occur: Historical PLC / DCS data 714 or other historical process data can be cleaned using outlier detection, linear interpolation, data smoothing, or other operations to create a clean data stream. Similarly, historical laboratory data 716 can be cleaned using outlier detection, linear interpolation, data smoothing, or other operations to create a clean laboratory data stream. The clean data streams can be used in combination to develop one or more machine learning models 728 that can be trained to predict yields and critical specifications. For example, examples of critical specifications used in sugarcane processing may include sugar content (pol), Brix, purity, and transmittance of intermediate products (such as mixed juice, clarified juice, or syrup) and the final sugar and sugar syrup. Often, one or more machine learning models 728 are developed using feature engineering. Using PFD / PID data 718, one or more process material balances can be derived and encoded for various subsystems and subprocesses within at least one processing facility. Using equipment datasheet / specification data 720, operating constraints on materials (such as pump amps and clarifier capacities) and specifications (transmittance) can be enumerated. Using current economic data 722 from market analysis or contracts, an economic model of the relative prices of cane feed, chemical additives, electricity, sugar, molasses, or other materials or products can be developed. These operations can be performed to create one or more machine learning models 728, which can be done well across historical manufacturing data.

[0081] Subsequently, in order to move to a live production schema, such as one in which the operator can periodically receive optimization recommendations, the following can be done: Current PLC / DCS data 714 and laboratory data 716 can be acquired and cleaned to create a live data stream. For each machine learning model 728 and material balance 730, its parameters can be updated based on the clean live data stream to create a blended machine learning model 732. At least one slack term can be added to represent the current measurement error to each material balance 730, and a first phase of optimization 740 can be performed to reduce or minimize the slack in the material balance to find a feasible optimal solution that satisfies both the material balance 730 and the blended machine learning model 732 with the smallest correction error. A difference constraint can be defined as a moved real constraint 734 such that the feasible region for setpoint changes is the same for both the real sensor used to capture the current PLC / DCS data 714 and the sensor in the "first phase" including the slack. In some cases, this can be expressed as "difference constraint = (real constraint - real sensor) + sensor in phase 1". The second optimization phase 742 can be performed by setting the material balance slack variable to the value from the first phase 740, and the change in the setting can be optimized while satisfying the difference constraint (with the ultimate goal of increasing or maximizing the recovery rate of a wide range of sugars or other products), the material balance 730, and the blended machine learning model 732. In some cases, the recommended setting can be defined, for example, as follows: Recommended setting = (Setting in phase 2 - Setting in phase 1) + Actual setting. Note that this recommended setting is feasible for the actual constraint 734.

[0082] In this way, one or more blended machine learning models 732 can be used to predict important quantities within the production process, ultimately feeding into a more extensive two-stage or other optimization model 738. For example, one or more blended machine learning models 732 can be developed so that the model(s) 732 can predict physical properties within at least one processing facility 314. Here, one or more blended machine learning models 732 can be developed as an alternative to first-principles models. For example, a model 732 of a crusher can predict how sugar is washed away from sugarcane to become juice when the sugarcane is crushed. It is generally impossible to model this process in first principles because the physical properties of the crusher and sugarcane are not measured within the process and must be approximated or assumed, which would negate the predictive power of the model in optimization. In some cases, Model 732 may enable the optimizer to predict juice sugar content (pol) and Brix, and bagasse sugar content (pol) and Brix, which may be useful or important properties to track when setting the material balance of sugar and solids in the grinding process.

[0083] It should be noted that the MILP optimizer used herein can accurately represent and simulate the interrelated equipment of the processing facility so that its settings can be modified to maximize sugar extraction or the production of other products. In some embodiments, the optimizer variables and constraints can encode the relationship between data measured in an analyzer or laboratory (such as sugar content (pol) measurements and Brix measurements) and sensor data from the equipment (such as temperature sensors, pressure sensors, and flow meters). The variables can be appropriately adjusted by manufacturer and technical limitations, as well as specific lower and upper limits that satisfy normal operating thresholds in facility 314, which in some cases can be determined by analyzing historical data distributions.

[0084] Furthermore, it should be noted that in some embodiments, constraints can be classified into two classes: first-principles-based equations and machine learning model-based equations. First-principles-based equations may include simple calculations / definitions (e.g., "sugar content of juice = mass flow rate of juice × juice sugar content / 100") and material balances (e.g., "stem inflow + water inflow = juice outflow + bagasse outflow"). Machine learning model-based equations may include linear regressions (e.g., "bagasse humidity = 1.2 × juice sugar content + 2.3 × water inflow + 4.2"). Linear regression-based machine learning models can use historical data to make physically sound predictions consistent with the first-principles understanding. In other words, machine learning models can enhance rational correlations between data, such as "it makes sense that the coefficient for this feature has a positive sign in the linear regression equation because bagasse humidity always increases as water inflow increases."

[0085] Therefore, the combined machine learning model(s)732 can function in parallel with first-principles equations. For example, when an optimizer needs to distribute a specific total inflow among a number of outflow variables, the combined machine learning model(s)732 can help determine this distribution. As a specific example, consider the material balance equation "stem inflow + water inflow = juice outflow + bagasse outflow" and assume "stem inflow + water inflow = 200". In this case, the optimizer may need to know how many of the 200 units need to reach "juice outflow" relative to "bagasse outflow". Based on historical data, the combined machine learning model(s)732 may predict the "juice outflow" value, and the optimizer can use the material balance equation to calculate other flow rates. Using only first-principles equations to model the facility here is not possible due to (i) natural degradation of equipment and (ii) the non-ideal nature of the process. Instead, a fused machine learning model(s) 732 can be trained on detailed historical data and more effectively capture how the process actually works. Furthermore, the constraints of various optimizers can depend on real-time sensor and laboratory data concatenated via live data feeds. Process 700 integrates and normalizes this data and supplies it as a constant to the optimization formulation. Ultimately, the objective of the optimizer (as defined by its objective function(s) 736) can be to maximize the overall sucrose extraction yield or other yield(s) across all processes within one or more facilities 314. Process optimization can apply a phase-by-phase approach across various facility subprocesses such as juice extraction, juice clarification, and syrup clarification. Thus, in some cases, the final objective function for sucrose extraction across the entire facility can be calculated as the synergistic product of the sucrose extractions of successive subprocesses.

[0086] In summary, in some embodiments, the MILP optimizer (with constraints including first-principles equations and machine learning linear regression models) can manipulate controllable setpoints at each facility to simulate how the resulting sucrose extraction changes. The optimizer can ultimately output the most optimal setpoint that yields the maximum sucrose extraction across one or more facilities 314.

[0087] Figure 7 shows an example of a process 700 for using a machine learning-based approach or other approach to generate input to an optimizer, but various modifications can be made to Figure 7. For example, the process 700 shown in Figure 7 may be repeated, such as when performed as part of the iterative process 500 shown in Figure 5. Also, the specific type of data used here is merely an example and can vary depending on the embodiment.

[0088] Figure 8 illustrates an exemplary method 800 for generating input to an optimizer using a machine learning-based approach or other approach as described herein. For example, method 800 may be performed using a machine learning model or other logic 112 and optimizer 114 of application server 106, as described above. However, method 800 may be performed in any suitable system using any suitable device(s).

[0089] As shown in Figure 8, input data related to one or more time-varying parameters is acquired in step 802. This may include, for example, at least one processing device 202 of the application server 106 that acquires input 402 related to agricultural harvesting or other operations. Input 402 may be acquired from any suitable source(s), such as the database 110 or one or more external systems 118a-118n. In some cases, input 402 may relate to one or more crops being grown in one or more growing areas 302a-302n. In other cases, input 402 may relate to operations being performed or operations that can be performed using equipment in one or more processing facilities 314.

[0090] In step 804, the input data is processed using at least one machine learning model or other logic to generate predictions. This may include, for example, at least one processing device 202 of the application server 106 that provides input 402 to the machine learning model or other logic 112 to generate values ​​for one or more time-varying parameters. In some cases, the one or more time-varying parameters may include one or more parameters relating to the amount of at least one product that can be obtained from a crop harvested using the resource 306. In other cases, the one or more time-varying parameters may include one or more parameters relating to the amount of at least one product that can be obtained from a harvested crop using one or more processing facilities 314. As described above, the at least one machine learning model or other logic 112 can support any suitable machine learning model architecture, a stochastic optimization method such as a simulation-based technique (such as Monte Carlo simulation), a reinforcement learning technique, or other approaches for generating predictions.

[0091] In step 806, the prediction is provided as input to the optimizer, and in step 808, the optimizer is executed to perform at least one optimization function. This may include, for example, at least one processing device 202 of the application server 106 that provides the optimizer 114 with the prediction generated by a machine learning model or other logic 112. This may also include at least one processing device 202 of the application server 106 producing some type of optimization result, such as by using the prediction (usually together with other data) to run the optimizer 114 and producing an optimization result using an objective function (such as equation (1) above). The type of optimization result produced here may vary depending on the application. For example, when used for production schedule optimization, the optimization result may represent a schedule for producing one or more materials. In a specific example, the optimization result may represent a schedule of two weeks or other periods for allocating resources 306 to harvest crops from different growing areas 302a to 302n, or from different plots 304 within growing areas 302a to 302n. When used for process optimization, the optimization result can represent one or more setpoints or other parameters used to control equipment in at least one processing facility. As a specific example, the optimization result may represent one or more setpoints or other parameters used to control equipment in one or more processing facilities 314.

[0092] In step 810, a decision is made as to whether to repeat the process. This decision can be made in any suitable way, such as by determining whether the user has requested an iteration or whether a specified processing time has elapsed. If another iteration occurs, the optimization results and / or data related to the optimization are fed back in step 812. This may include, for example, at least one processing device 202 of the application server 106 that provides the optimization results, the predictions used to generate the optimization results, and / or other data to the machine learning model or other logic 112. This information can be used along with other inputs 402 during subsequent iterations throughout this process.

[0093] Otherwise, in step 814, the optimization results are stored, output, or used. This may include, for example, at least one processing device 202 of the application server 106 providing the user with a determined harvest schedule for approval or modification, or automatically scheduling harvest operations using resources 306. Alternatively, this may include at least one processing device 202 of the application server 106 providing the user with a determined process optimization (such as settings for processing equipment in one or more processing facilities 314) for approval or modification, or automatically performing process optimization in one or more processing facilities 314.

[0094] Figure 8 shows an example of a method 800 for generating input to an optimizer using a machine learning-based approach or other approach, but various modifications can be made to Figure 8. For example, although shown as a series of steps, the various steps in Figure 8 can overlap, occur in parallel, occur in different orders, or occur any number of times (including zero times).

[0095] In some embodiments, the various functions described in this patent document are performed or supported by computer programs formed from computer-readable program code and embodied on computer-readable media. The term “computer-readable program code” includes any type of computer code, including source code, object code, and executable code. The term “computer-readable media” includes any type of media accessible by a computer, such as read-only memory (ROM), random access memory (RAM), hard disk drives (HDDs), compact discs (CDs), digital video discs (DVDs), or any other type of memory. “Non-temporary” computer-readable media exclude wired, wireless, optical, or other communication links that transmit temporary electrical or other signals. Non-temporary computer-readable media include media that can permanently store data, such as rewritable optical discs or erasable storage devices, and media that store data and can be later overwritten.

[0096] It may be advantageous to state the definitions of certain words and phrases used throughout this patent document. The terms “Application” and “Program” mean one or more computer programs, software components, sets of instructions, procedures, functions, objects, classes, instances, associated data, or parts thereof, which are suitable to be implemented in appropriate computer code (including source code, object code, or executable code). The term “Communicate” and its derivatives encompass both direct and indirect communication. The terms “Include” and “Comprise,” and their derivatives, mean unrestricted inclusion. The term “Or” is comprehensive and means and / or. The phrases “Associated” and their derivatives may mean include, contained in, interconnected with, contain, contained within, connected to / with, bound to / with, communicable with, coordinating with, interleaving, parallel, adjacent to, linked to / with, having, possessing the characteristics, having a relationship with, etc. The phrase "at least one of" when used with a list of items means that one or more different combinations of the listed items may be used, and only one item from the list may be required. For example, "at least one of A, B, and C" includes any of the following combinations: A, B, C, A and B, A and C, B and C, and A, B and C.

[0097] The descriptions in this application should not be interpreted as suggesting that any particular element, step, or function is an essential or material element that must be included in the claims. The scope of the subject matter of the claims is defined solely by the claims permitted. Furthermore, unless the exact words “means” or “step” are explicitly used in a particular claim, no claim is intended to refer to Section 112(f) of the U.S. Patent Act in reference to any of the attached claims or elements of the claims, and is followed by specific words that identify the function. The use of terms such as “mechanism,” “module,” “device,” “unit,” “component,” “element,” “member,” “apparatus,” “machine,” “system,” “processor,” or “controller” in the claims (but not limited to these) is understood and intended to refer to structures known to those skilled in the art, as further modified or enhanced by the features of the claims themselves, and is not intended to refer to Section 112(f) of the U.S. Patent Act.

[0098] While this disclosure describes specific embodiments and generally associated methods, modifications and reorderings of these embodiments and methods will be apparent to those skilled in the art. Therefore, the above description of exemplary embodiments does not define or limit this disclosure. Other changes, substitutions, and modifications are possible without departing from the spirit and scope of this disclosure, as defined by the following claims.

Claims

1. The acquisition of data from one or more data sources using at least one processing device, wherein the data is associated with or affects the underlying system to be optimized. Using the at least one processing device, generate a prediction based on the acquired data, wherein the prediction represents an estimated value associated with one or more time-varying parameters associated with the underlying system. The prediction is provided to the optimizer using the at least one processing device, A method comprising: running the optimizer using the at least one processing device to generate an optimization result based on the prediction, wherein the optimization result is associated with the underlying system.

2. The method according to claim 1, wherein executing the optimizer includes performing optimization using partial knowledge of the first principles of the underlying system.

3. The method according to claim 1 or 2, wherein the optimizer is configured to perform production schedule optimization.

4. The aforementioned infrastructure system includes an agricultural system in which crops are grown in multiple growth areas, The one or more time-varying parameters relate to one or more recoverable products in the crop, The method according to claim 3, wherein the optimization result includes a schedule for identifying resources that are scheduled to harvest the crop in the growing area or a section within the growing area, and a schedule for identifying when the resources were scheduled to harvest the crop in the growing area or the section within the growing area.

5. The aforementioned infrastructure system includes multiple resources whose use is time-dependent and which are affected by one or more environmental factors, The method according to claim 1 or 2, wherein the optimizer determines the scheduling status for the use of the resource over time.

6. The method according to claim 1 or 2, wherein the optimizer is configured to perform process optimization.

7. The aforementioned infrastructure system includes a processing facility configured to process harvested crops, The one or more time-varying parameters relate to one or more recoverable products in the harvested crop, The method according to claim 6, wherein the optimization result includes one or more set values ​​for equipment in the processing facility.

8. The method according to any one of claims 1 to 7, wherein the prediction is generated using a trained machine learning model.

9. The method according to claim 8, wherein the trained machine learning model is trained to generate the prediction when the acquired data contains defects.

10. The aforementioned prediction is generated using stochastic optimization, The method according to claims 1 to 7, wherein the prediction is optionally generated using reinforcement learning or Monte Carlo simulation.

11. The process further includes repeatedly acquiring the aforementioned data, generating the aforementioned prediction, providing the aforementioned prediction to the optimizer, and executing the optimizer. The method according to any of the prior claims, wherein at least one of the optimization results or predictions from a single iteration is provided as feedback for use in generating the predictions during subsequent iterations.

12. The aforementioned prediction is generated using a trained machine learning model, The method according to claim 11, wherein the trained machine learning model is configured to use the feedback to compensate for the prediction error associated with the prediction.

13. The method according to any of the prior claims, wherein generating the prediction includes taking into account the uncertainty of the objective function used to generate the prediction.

14. An apparatus comprising at least one processing device configured to perform the method according to any one of claims 1 to 13.

15. A non-temporary computer-readable medium that stores computer-readable program code that, when executed by one or more processors, causes one or more processors to perform the method according to any one of claims 1 to 13.