Tobacco production plan generation method and device, electronic equipment and storage medium
By obtaining tobacco production resources and process information and optimizing production plans with multi-objective evaluation functions, the problem of unreasonable resource arrangements in tobacco production is solved, and production efficiency and equipment utilization are improved.
Patent Information
- Application Number
- CN202510576684.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-05-06
- Publication Date
- 2025-08-12
AI Technical Summary
The existing technology fails to effectively meet diversified needs in tobacco production, resulting in the inability to reasonably arrange resources in production plans and affect production efficiency.
By obtaining production resource information and process information, combining the evaluation function that minimizes the total processing time, minimizes production delay and maximizes equipment utilization, the candidate production plan is determined and optimized as the target production plan.
It has achieved reasonable arrangement of resources in tobacco production, meeting diversified needs, and improving production efficiency and equipment utilization.
Smart Images

Figure CN120471381A_ABST
Abstract
Description
Technical Field
[0001] Embodiments of the present invention relate to the technical field of production planning, and in particular to a method, device, electronic device, and storage medium for generating a tobacco production plan. Background Art
[0002] Under limited resource conditions, rationally arranging tobacco production tasks and improving production efficiency have become key links in the current tobacco production process.
[0003] In the prior art, tobacco production plans are set by minimizing the execution time of production tasks. However, minimizing the execution time of production tasks is a one-sided consideration, and the resulting tobacco production plan cannot meet the diverse needs of the tobacco production process. Summary of the Invention
[0004] The embodiments of the present invention provide a tobacco production plan generation method, device, electronic device and storage medium to achieve the purpose of meeting the diversified needs in the tobacco production process.
[0005] According to one aspect of the present invention, a method for generating a tobacco production plan is provided, comprising:
[0006] Obtaining production resource information and required process information corresponding to the tobacco to be produced;
[0007] Determining a candidate production plan corresponding to the tobacco to be produced based on the production resource information and the required process information;
[0008] Determining a first evaluation value corresponding to the candidate production plan based on a preset evaluation function, and determining a target production plan corresponding to the tobacco to be produced based on the first evaluation value, so as to send the target production plan to a planning terminal;
[0009] The evaluation function is based on at least two preset objective functions, which include a function of minimizing total processing time, a function of minimizing production delay, and a function of maximizing equipment utilization.
[0010] According to another aspect of the present invention, there is provided a tobacco production plan generating device, the device comprising:
[0011] An information acquisition module is used to obtain production resource information and required process information corresponding to the tobacco to be produced;
[0012] a candidate production plan determination module, configured to determine a candidate production plan corresponding to the tobacco to be produced based on the production resource information and the required process information;
[0013] a target production plan determination module, configured to determine a first evaluation value corresponding to the candidate production plan based on a pre-set evaluation function, and determine a target production plan corresponding to the tobacco to be produced based on the first evaluation value, so as to send the target production plan to a planning terminal;
[0014] The evaluation function is based on at least two preset objective functions, which include a function of minimizing total processing time, a function of minimizing production delay, and a function of maximizing equipment utilization.
[0015] According to another aspect of the present invention, an electronic device is provided, comprising:
[0016] at least one processor; and
[0017] a memory communicatively connected to the at least one processor; wherein,
[0018] The memory stores a computer program executable by the at least one processor, and the computer program is executed by the at least one processor so that the at least one processor can execute the tobacco production plan generating method according to any embodiment of the present invention.
[0019] According to another aspect of the present invention, a computer-readable storage medium is provided, wherein the computer-readable storage medium stores computer instructions, and the computer instructions are used to enable a processor to implement the tobacco production plan generation method according to any embodiment of the present invention when executed.
[0020] The technical solution of the embodiment of the present invention determines a candidate production plan corresponding to the tobacco to be produced by obtaining production resource information and required process information corresponding to the tobacco to be produced; and, based on a pre-set evaluation function, determines a first evaluation value corresponding to the candidate production plan, and based on the first evaluation value, determines a target production plan corresponding to the tobacco to be produced, so as to send the target production plan to a planning terminal; since the evaluation function is based on at least two preset objective functions, the objective function includes a function for minimizing the total processing time, a function for minimizing the production delay, and a function for maximizing the equipment utilization rate, the candidate production plan can be evaluated in combination with multiple factors, which is conducive to determining the target production plan that best matches the tobacco to be produced and meets the diverse needs in the tobacco production process.
[0021] It should be understood that the content described in this section is not intended to identify the key or important features of the embodiments of the present invention, nor is it intended to limit the scope of the present invention. Other features of the present invention will become readily understood through the following description. BRIEF DESCRIPTION OF THE DRAWINGS
[0022] In order to more clearly illustrate the technical solutions in the embodiments of the present invention, the following briefly introduces the drawings required for use in the description of the embodiments. Obviously, the drawings described below are only some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without creative work.
[0023] Figure 1 is a flow chart of a method for generating a tobacco production plan according to an embodiment of the present invention;
[0024] Figure 2 is a flow chart of another method for generating a tobacco production plan according to an embodiment of the present invention;
[0025] Figure 3 This is a schematic structural diagram of a tobacco production plan generating device provided according to an embodiment of the present invention;
[0026] Figure 4 It is a structural diagram of an electronic device for implementing the tobacco production plan generation method according to an embodiment of the present invention. DETAILED DESCRIPTION
[0027] In order to enable those skilled in the art to better understand the solutions of the present invention, the technical solutions in the embodiments of the present invention will be clearly and completely described below in conjunction with the drawings in the embodiments of the present invention. Obviously, the embodiments described are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without making creative efforts should fall within the scope of protection of the present invention.
[0028] It should be noted that the terms "first", "second", etc. in the description and claims of the present invention and the above-mentioned drawings are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that the numbers used in this way can be interchanged where appropriate so that the embodiments of the present invention described herein can be implemented in an order other than those illustrated or described herein. In addition, the terms "including" and "etc." and any variations thereof are intended to cover non-exclusive inclusions. For example, a process, method, system, product or device that includes a series of steps or units is not necessarily limited to those steps or units clearly listed, but may include other steps or units that are not clearly listed or inherent to these processes, methods, products or devices.
[0029] It should be noted that the collection, collection, updating, analysis, processing, use, transmission, and storage of user personal information involved in the technical solutions disclosed herein comply with relevant laws and regulations, are used for legitimate purposes, and do not violate public order and good morals. Necessary measures are taken with respect to user personal information to prevent unauthorized access to user personal information data and maintain the security of user personal information and network security.
[0030] Figure 1 This is a flowchart of a tobacco production plan generation method provided according to an embodiment of the present invention. This embodiment can be applied to determining a production plan for tobacco to be produced. The production plan can be used to reflect the production equipment used in each process and the execution order of each process. This method can be executed by a tobacco production plan generation device, which can be implemented in hardware and / or software.
[0031] like Figure 1 As shown, the method of this embodiment may specifically include:
[0032] S110: Obtain production resource information and required process information corresponding to the tobacco to be produced.
[0033] The production resource information includes equipment information and status information for the tobacco production equipment to be produced. For example, the production resources include at least one of a cleaning device, a baking device, a humidification device, and a shredding device. The equipment information includes at least one of the identification, operating parameters, and name of the production equipment. The status information includes the operating status of the production equipment during a preset time period, such as the occupancy status of equipment A within the next week. The required process information is used to reflect the processes required to produce the tobacco. For example, the processing process of the tobacco to be produced may include at least one of the cleaning process, the baking process, the humidification process, and the shredding process.
[0034] In this embodiment, the production resource information and required process information corresponding to the tobacco to be produced can be received from the planning terminal. Alternatively, similarly produced tobacco associated with the tobacco to be produced can be identified from historical records, and the production resource information and required process information corresponding to the similarly produced tobacco can be used as the production resource information and required process information corresponding to the tobacco to be produced.
[0035] S120 : Determine a candidate production plan corresponding to the tobacco to be produced based on the production resource information and the required process information.
[0036] In this embodiment, the candidate production plans may be determined by randomly determining at least two candidate production plans corresponding to the tobacco to be produced based on the production resource information, the required process information, and the production requirement information for the tobacco to be produced. The production requirement information includes the delivery deadline and cost requirements for the tobacco to be produced.
[0037] In addition, based on the production resource information and the required process information, a candidate production plan corresponding to the tobacco to be produced is determined, including: based on the production resource information and the required process information, a production plan that meets preset constraints is determined as the candidate production plan corresponding to the tobacco to be produced.
[0038] In this embodiment, the production plans that meet the preset constraints can be determined as candidate production plans. Alternatively, if the number of production plans that meet the preset constraints is greater than the preset planned quantity, the production plans with the preset planned quantity can be determined as candidate production plans from the production plans that meet the preset constraints.
[0039] Among them, the preset constraints include at least one of the following: the execution order between the processes in the production plan corresponds to the preset execution order; the number of processes executed in parallel by the production equipment used in the production plan is less than the preset number; the actual execution time of each process in the production plan matches the preset time.
[0040] Optionally, a method for determining whether the execution order of the processes in the production plan corresponds to the preset execution order is as follows:
[0041] y ijk ≤x ij'k' +M(1-b ijkj'k' )
[0042] Where x ijk represents the start time of tobacco i performing process k on production equipment j in the execution sequence of the production plan; y ijk represents the completion time of tobacco i performing process k on production equipment j; x ij'k' represents the start time of tobacco i in the preset execution sequence when it executes process k' via production equipment j'. i, j, and k each belong to tobacco set I, production equipment set J, and process set K, i∈I, j∈J, and k∈K. M is a sufficiently large positive number.
[0043] b ijkj'k' is a binary variable indicating whether process (i, j, k) is executed before process (i, j', k') in the preset execution order. If yes, then b ijkj'k' =1, according to the above formula, in b ijkj'k' =1, y ijk ≤x ij'k' Then it means that the completion time of process (i,j,k) cannot be later than the start time of process (i,j',k'). If not, then b ijkj'k' =0, must satisfy y ijk ≤x ij'k'+M, and since M is a sufficiently large positive number, this constraint always holds.
[0044] Specifically, the preset number can be 2, ensuring that at any time, each production device can only execute at most one process. The corresponding method when the number of processes executed in parallel by the production equipment used in the production plan is less than the preset number is as follows:
[0045]
[0046] Where t represents the time and T represents the length of the production cycle. For production equipment j and time t, this constraint calculates whether the time t is within the processing time range of the process for all tobacco processes performed on the production equipment. If the time t is within the processing time range [x ijk ,y ijk ], then max(0,min(y ijk ,t)-max(x ijk ,t))=1, otherwise it is 0. Therefore, this constraint requires that the sum of the number of processes performed by all tobacco on production equipment j within the processing time range at time t cannot exceed 1, that is, each resource can only process at most one process at the same time.
[0047] Specifically, the method for determining whether the actual execution time of each process in the production plan matches the preset time is as follows:
[0048] y ijk -x ijk =p ijk
[0049] Among them, p ijk represents the estimated time it takes for tobacco i to complete process k on production equipment j. If this equation holds, the actual execution time of each process in the production plan matches the preset duration. If it does not hold, there is a mismatch between the actual execution time of a process and the preset duration.
[0050] Furthermore, the preset constraints may also include a delivery time constraint and a sequencing constraint. The delivery time constraint requires that each process in the production plan be completed no later than the delivery deadline. The sequencing constraint requires that, for each piece of production equipment, the processing sequence of the tobacco to be produced corresponding to that piece of production equipment matches the preset processing sequence.
[0051] This embodiment determines candidate production plans by presetting constraint conditions, thereby ensuring that each candidate production plan meets the actual production demand of the tobacco to be produced.
[0052] S130 . Determine a first evaluation value corresponding to the candidate production plan based on a preset evaluation function, determine a target production plan corresponding to the tobacco to be produced based on the first evaluation value, and send the target production plan to a planning terminal.
[0053] The evaluation function is based on at least two preset objective functions, and the objective functions include a function of minimizing total processing time, a function of minimizing production delay, and a function of maximizing equipment utilization.
[0054] Specifically, the function f1 to minimize the total processing time can be expressed by the following formula:
[0055]
[0056] The minimization of the production delay function f2 can be expressed by the following formula:
[0057]
[0058] Among them, d i represents the delivery period of tobacco i.
[0059] The maximum equipment utilization function f3 can be expressed by the following formula:
[0060]
[0061] Among them, T represents the length of the production scheduling cycle, that is, the time range covered by the production scheduling plan; |J| represents the number of production equipment.
[0062] In this embodiment, each objective function may be normalized to obtain a normalized function, and the normalized functions may be weighted and summed according to preset weights to obtain an evaluation function. Optionally, the evaluation function f(s) may be expressed as follows:
[0063] f(s)=ω1×f1′+ω2×f2′+ω3×f3′
[0064] Among them, ω1, ω2, and ω3 represent preset weights, f1′ represents the normalization function corresponding to f1, f2′ represents the normalization function corresponding to f2, and f3′ represents the normalization function corresponding to f3.
[0065] In a specific implementation, a first evaluation value corresponding to each candidate production plan can be determined based on the evaluation function. Based on the first evaluation value, a target production plan can be determined from the candidate production plans. It should be noted that the higher the first evaluation value, the better the candidate production plan. For example, the candidate production plan with the highest first evaluation value can be selected as the target production plan. After the target production plan is determined, it can be sent to a planning terminal for staff reference.
[0066] In this embodiment, the target production plan can reflect the production equipment to be used in the production process of the tobacco to be produced, the start and completion times of each production equipment, and the execution order of each process. Furthermore, each objective function value and evaluation value corresponding to the target production plan can be sent to the planning terminal for easy reference by staff.
[0067] The technical solution of the embodiment of the present invention determines a candidate production plan corresponding to the tobacco to be produced by obtaining production resource information and required process information corresponding to the tobacco to be produced; and, based on a pre-set evaluation function, determines a first evaluation value corresponding to the candidate production plan, and based on the first evaluation value, determines a target production plan corresponding to the tobacco to be produced, so as to send the target production plan to a planning terminal; since the evaluation function is based on at least two preset objective functions, the objective function includes a function for minimizing the total processing time, a function for minimizing the production delay, and a function for maximizing the equipment utilization rate, the candidate production plan can be evaluated in combination with multiple factors, which is conducive to determining the target production plan that best matches the tobacco to be produced and meets the diverse needs in the tobacco production process.
[0068] Figure 2 This is a flowchart of another method for generating a tobacco production plan according to an embodiment of the present invention. Based on the above embodiment, this embodiment optionally determines the candidate production plan corresponding to the tobacco to be produced by: determining the current optimal plan and the critical path of the current optimal plan, and determining the candidate production plan based on the critical path. The explanations of the terms that are the same or corresponding to the above embodiments are not repeated here. Figure 2 As shown, the method includes:
[0069] S210: Obtain production resource information and required process information corresponding to the tobacco to be produced.
[0070] In practical applications, multiple batches of tobacco can be produced simultaneously. Obtain the delivery deadline for each batch of tobacco to be produced, the steps required to produce each batch of tobacco to be produced, and the available time of each production equipment.
[0071] S220. Based on the production resource information and the required process information, determine an initial production plan corresponding to the tobacco leaves to be produced, and use the initial production plan as the current optimal plan; and determine a critical path corresponding to the current optimal plan.
[0072] Among them, the critical path is the path composed of key processes that affect the total production time of the tobacco to be produced.
[0073] In a specific implementation, for each batch of tobacco leaves to be produced, the sum of the processing time of the tobacco leaves to be produced on each production equipment can be determined, and the ratio between the sum and the time between the delivery deadline of the tobacco leaves to be produced and the current time can be determined. The tobacco leaves to be produced are sorted according to the ratio, and this sorting is the processing order of each batch of tobacco leaves to be produced. According to this processing order, production equipment and start time are assigned to each batch of tobacco leaves to be produced. For example, when allocating production equipment, the production equipment that can start working the earliest can be assigned to the tobacco leaves to be produced currently to be processed in the processing order, thereby obtaining an initial production plan for the tobacco leaves to be produced. The initial production plan is used as the current optimal plan.
[0074] It should be noted that the production plan contains multiple processes, some of which need to be executed in sequence, while some processes can be executed simultaneously and in parallel. For example, the production plan includes process 1.0, process 2.0, process 3.0, process 2.1, and process 2.2. Among them, process 1.0, process 2.0, and process 3.0 are executed serially in sequence, and process 2.1 and process 2.2 are executed in parallel with process 2.0 respectively. Then the path "process 1.0-process 2.0-process 3.0", the path "process 1.0-process 2.1-process 3.0", or the path "process 1.0-process 2.2-process 3.0" is the path that affects the total production time of the tobacco to be produced.
[0075] In this embodiment, the path consisting of key processes that affect the total production time of the tobacco to be produced in the current optimal plan can be used as the critical path. For example, the critical path can be the path "Process 1.0 - Process 2.0 - Process 3.0", the path "Process 1.0 - Process 2.1 - Process 3.0", or the path "Process 1.0 - Process 2.2 - Process 3.0".
[0076] S230. Based on the taboo search method, critical path and production resource information, adjust the current optimal plan to obtain a candidate production plan corresponding to the current optimal plan.
[0077] In this embodiment, initialization settings may be performed before determining a candidate production plan. Specifically, the initialization settings may include constructing a taboo table. The taboo table is used to record prohibited adjustment operations and the remaining taboo count for each adjustment operation. When the initial production plan is determined, the taboo table is empty. Adjustment operations refer to operations performed on the current optimal plan when determining a candidate production plan. For example, this may involve changing the sequence of processes in the current optimal plan or replacing the production equipment used.
[0078] In a specific implementation, the current optimal plan can be adjusted based on critical path and production resource information to obtain an intermediate production plan. A taboo search method is used to read the taboo table. If the intermediate production plan uses an adjustment operation listed in the taboo table, the intermediate production plan is deleted; if the intermediate production plan does not use an adjustment operation listed in the taboo table, the intermediate production plan is selected as a candidate production plan. For example, if the taboo table is empty, a preset number of intermediate production plans can be arbitrarily selected as candidate production plans. Furthermore, each adjustment operation performed when determining a candidate production plan is recorded in the taboo table, and the remaining taboo count corresponding to each adjustment operation is set to the preset maximum taboo count.
[0079] In order to enable the candidate production plans to meet the specific production requirements of the tobacco leaves to be produced, the candidate production plans that meet the preset constraints can be screened out; and the candidate production plans that do not meet the preset constraints are deleted.
[0080] Optionally, adjusting the current optimal plan includes: adjusting the sequence of processes in the current optimal plan; and / or replacing equipment used in the current optimal plan.
[0081] Specifically, the sequence of key processes in the critical path of the current optimal plan can be adjusted, and the adjusted current optimal plan can be used as a candidate work plan. Alternatively, the equipment type of the equipment used in the key process corresponding to the critical path in the current optimal plan can be determined; production equipment of the same type as the equipment used can be found and replaced, and the current optimal plan after the replacement can be used as a candidate production plan.
[0082] This embodiment adjusts the process sequence and the equipment used to obtain a production plan that is relatively close to the current optimal plan, thereby providing a method for determining a candidate production plan.
[0083] S240. Determine a first evaluation value corresponding to the candidate production plan based on a pre-set evaluation function, and determine a second evaluation value corresponding to the current optimal plan based on the evaluation function.
[0084] The evaluation function is based on at least two preset objective functions, and the objective functions include a function of minimizing total processing time, a function of minimizing production delay, and a function of maximizing equipment utilization.
[0085] Specifically, the evaluation function f(s) can be:
[0086] f(s)=ω1×f1+ω2×f2+ω3×f3
[0087] Among them, ω1, ω2, and ω3 represent preset weights, f1 represents the normalization function corresponding to f1, and f2 represents the normalization function corresponding to f2.
[0088] The corresponding normalization function, f3 represents the normalization function corresponding to f3.
[0089] In a specific implementation, the minimum total processing time, minimum production delay and maximum equipment utilization corresponding to the current optimal plan can be determined, and the second evaluation value can be determined based on the minimum total processing time, minimum production delay and maximum equipment utilization.
[0090] S250. When there is at least one first evaluation value greater than the second evaluation value, the current optimal plan is updated based on the candidate production plan, and the step of determining the candidate production plan corresponding to the updated current optimal plan is repeated, and the step of updating the current optimal plan based on the first evaluation value of the latest determined candidate production plan and the second evaluation value of the current optimal plan is repeated until the preset stop condition is met, and the latest current optimal plan is determined as the target production plan corresponding to the tobacco to be produced, so as to send the target production plan to the planning terminal.
[0091] In this embodiment, when there are multiple candidate production plans, the first evaluation value corresponding to each candidate production plan is compared with the second evaluation value. If at least one first evaluation value is greater than the second evaluation value, the candidate production plan with the largest first evaluation value is selected as the current optimal plan. The above steps are repeated, and the current optimal plan is adjusted based on the taboo search method, critical path, and production resource information to obtain a candidate production plan corresponding to the current optimal plan. The current optimal plan is then updated based on the first evaluation value of the most recently determined candidate production plan and the second evaluation value of the current optimal plan.
[0092] Specifically, in the repetitive process, each time a candidate production plan is determined, the adjustment operation recorded in the taboo table is queried. If the determined candidate production plan adopts the adjustment operation in the taboo table, the candidate production plan is deleted; if not, the candidate production plan is retained. Each time it is repeated, the remaining taboo times corresponding to the adjustment operation in the taboo table can be reduced by one until the remaining taboo times are 0, and then the adjustment operation can be deleted from the taboo table. In addition, for the candidate production plan determined by this repetitive process, it is necessary to record the adjustment operation adopted in the candidate production plan in the taboo table, and adjust the remaining taboo times of the recorded adjustment operations to the preset maximum taboo times. It should be noted that if the taboo table already contains the adjustment operation to be recorded, the remaining taboo times of the adjustment operation can be directly adjusted to the preset maximum taboo times.
[0093] Furthermore, to retain candidate production plans that significantly improve the evaluation function, the evaluation function can also be used to determine a first evaluation value for each candidate production plan that uses an adjustment operation recorded in the taboo table. This first evaluation value is compared with the second evaluation value. If the first evaluation value is greater than the second evaluation value, and the difference between the first and second evaluation values is greater than a preset improvement value, the candidate production plan is retained. If the difference is less than or equal to the preset improvement value, the candidate production plan is deleted.
[0094] In a specific implementation, each time the process is repeated, it is determined whether the current execution satisfies a preset stop condition. If the preset stop condition is satisfied, the process stops, and the most recently obtained current optimal plan is used as the target production plan for the tobacco to be produced. This target production plan can be sent to the planning terminal so that the tobacco to be produced can be processed according to the target production plan. Furthermore, if the preset stop condition is not satisfied, the process continues to repeat the steps of determining a candidate production plan corresponding to the updated current optimal plan, and updating the current optimal plan based on the first evaluation value of the most recently determined candidate production plan and the second evaluation value of the current optimal plan.
[0095] This embodiment proposes to determine the target production plan based on the taboo search method, thereby avoiding repeating the same adjustment operation in a short period of time, and can better explore new candidate production methods, which is conducive to escaping the local optimal solution, accurately determining the target production method, and improving the production efficiency of tobacco production.
[0096] Optionally, at least one of the following stop conditions is preset: the number of repetitions corresponding to the current repeated execution operation is greater than the preset maximum number of repetitions; the number of consecutive times that the current optimal plan has not been updated during the repeated execution process is greater than the preset number.
[0097] It should be noted that a counter may be pre-set to record the number of iterations of repeatedly executing the process to determine the candidate production plan corresponding to the updated current optimal plan. Before each iteration of determining the candidate production plan, the number of iterations corresponding to the current iteration is determined. If the number of iterations is greater than a preset maximum number of iterations, it indicates that a preset stop condition has been met, and the iteration process may be stopped. If the number of iterations is less than or equal to the preset maximum number of iterations, the step of determining the candidate production plan may continue.
[0098] Alternatively, for each repeated execution, the number of times the current optimal plan has not been updated is counted. Specifically, before each repeated execution to determine the candidate production plan, it is determined whether the current optimal plan has changed compared to the previous repeated execution. If it has changed, the number of times the current optimal plan has not been updated is recorded as 1. In the next repeated execution, if the current optimal plan has not been updated, the number of times the current optimal plan has not been updated can be increased by one. If the current optimal plan has been updated, the number of times the current optimal plan has not been updated after the update can be set to 1, and the records of the number of times the current optimal plan in the previous repeated execution and the corresponding number of times the current optimal plan has not been updated are deleted.
[0099] In a specific implementation, whether a preset stop condition is met can be determined based on the number of consecutive times the current optimal plan has not been updated. Specifically, during each repetition, it can be determined whether the number of consecutive times the current optimal plan has not been updated is greater than a preset number. If it is greater than the preset number, it indicates that the preset stop condition is met, and the repetitive operation is stopped. If it is less than or equal to the preset number, the operation of repeatedly determining candidate production plans can be continued.
[0100] In this embodiment, a preset stop condition is set based on the number of consecutive times that the current optimal plan has not been updated, so as to avoid continuous repetition of operations when the current optimal plan has not been updated for many times. This is beneficial to ensuring the accuracy of the target production plan while reducing the workload; and, determining the preset stop condition based on the current number of repetitions is beneficial to improving work efficiency.
[0101] Optionally, after determining the second evaluation value corresponding to the current optimal plan, it also includes: when the second evaluation value is greater than or equal to each first evaluation value, based on the taboo search method, the critical path and the production resource information, re-adjusting the current optimal plan, updating the candidate production plan based on the adjustment result, and determining the first evaluation value of the updated candidate production plan, comparing the second evaluation value with the first evaluation value of the updated candidate production plan, and determining the target production plan corresponding to the tobacco to be produced based on the comparison result.
[0102] Specifically, if there is no first evaluation value greater than the second evaluation value, the current optimal plan may be readjusted based on the taboo search method, the critical path, and the production resource information. For example, the current optimal plan may be further adjusted using an adjustment operation distinct from that recorded in the taboo table, and the candidate production plan may be updated based on the adjustment results, thereby ensuring that the candidate production plans determined each time are free of duplication.
[0103] Furthermore, after determining the new candidate production plans, the first evaluation value corresponding to each new candidate production plan can be determined, and each first evaluation value can be compared with the second evaluation value. If the comparison result shows that there is at least one first evaluation value greater than the second evaluation value, then S250 is executed, the current optimal plan is updated based on the candidate production plan, and the process of determining the candidate production plan corresponding to the updated current optimal plan is repeated, and the target production plan is determined based on the first evaluation value of the most recently determined candidate production plan and the second evaluation value of the current optimal plan. If the evaluation result shows that there is no first evaluation value greater than the second evaluation value, the current optimal plan can be readjusted based on the above method to determine a new candidate production plan corresponding to the current optimal plan again; until the preset stop condition is met, the current optimal plan obtained by the last determination can be used as the target production plan corresponding to the tobacco to be produced.
[0104] This embodiment provides a method for determining a target production plan when the second evaluation value is greater than or equal to each first evaluation value, thereby ensuring that the current optimal plan can be continuously optimized and the target production plan can be accurately determined.
[0105] In order to avoid repeated operations, before repeatedly executing the candidate production plan corresponding to the updated current optimal plan, it also includes: determining the current temperature value corresponding to the current optimal plan based on the simulated annealing algorithm; when the current temperature value is less than the preset temperature threshold, determining the current optimal plan as the target production plan corresponding to the tobacco to be produced.
[0106] It should be noted that initialization also includes setting an initial temperature value. When a candidate production plan corresponding to the current optimal plan is first obtained, the initial temperature value is used as the current temperature value for the current optimal plan. During each subsequent iteration, the current temperature value is continuously updated according to the preset cooling rate, gradually decreasing with each iteration.
[0107] Optionally, before each iteration of determining a candidate production plan corresponding to the updated current optimal plan, a current temperature value corresponding to the current optimal plan may be obtained. If the current temperature value is less than a preset temperature threshold, the iteration may be stopped and the current optimal plan may be determined as the target production plan.
[0108] Furthermore, if the current temperature value is greater than or equal to the preset temperature threshold, the operation of determining the candidate production plan corresponding to the updated current optimal plan can be repeated until the current temperature value is less than the preset temperature threshold, then the repeated operation is stopped and the current optimal plan obtained last time is used as the target production plan.
[0109] This embodiment determines the target production plan by the current temperature value, thereby avoiding continuous iterative search and helping to reduce the search workload.
[0110] In addition, in order to escape from the local optimization process, the current optimal plan can be adjusted based on the taboo search method, simulated annealing algorithm, critical path and production resource information to obtain a candidate production plan corresponding to the current optimal plan.
[0111] Specifically, the implementation method for determining the candidate production plan can be: based on the critical path and production resource information, adjust the current optimal plan to obtain an intermediate production plan; for each intermediate production plan, determine the third evaluation value corresponding to the intermediate production plan through the evaluation function, and determine the candidate production plan based on the third evaluation value.
[0112] Optionally, the implementation of determining the candidate production plan based on the third evaluation value includes the following situations:
[0113] 1. If the third evaluation value meets the preset evaluation conditions and the intermediate production plan does not adopt the adjustment operation included in the taboo table, the intermediate production plan is determined as a candidate production plan.
[0114] 2. If the third evaluation value does not meet the preset evaluation conditions and the intermediate production plan does not use any adjustment operations included in the taboo table, a first acceptance probability is determined for the intermediate production plan based on the first preset determination method and the current temperature value corresponding to the current optimal plan. If the first acceptance probability is greater than the preset probability, the intermediate production plan is determined as a candidate production plan. If the first acceptance probability is less than or equal to the preset probability, the intermediate production plan is deleted.
[0115] 3. If the third evaluation value does not meet the preset evaluation conditions and the intermediate production plan uses an adjustment operation included in the taboo table, a second acceptance probability is determined for the intermediate production plan based on the second preset determination method and the current temperature value corresponding to the current optimal plan. If the second acceptance probability is greater than the preset probability, the intermediate production plan is determined as a candidate production plan. If the second acceptance probability is less than or equal to the preset probability, the intermediate production plan is deleted.
[0116] In this embodiment, the first preset determination method is different from the second preset determination method. The preset probability can be obtained by random generation. The first preset determination method can be:
[0117]
[0118] Where Q is the current temperature value, f(s') represents the third evaluation value, f(s) represents the second evaluation value, and p1 is the first acceptance probability.
[0119] The second preset determination method may be:
[0120]
[0121] Among them, p2 is the second acceptance probability, a is the taboo penalty factor, and α is a constant greater than 0 and less than 1. For the intermediate production plan using the taboo adjustment operation, its acceptance probability is multiplied by a factor less than 1 compared with the intermediate production plan using the non-taboo adjustment operation, thereby reducing its possibility of acceptance.
[0122] In this embodiment, the preset evaluation conditions include at least one of the following: the third evaluation value is greater than the second evaluation value corresponding to the current optimal plan, and the difference between the third evaluation value and the second evaluation value is less than the preset improvement value; the third evaluation value is less than or equal to the second evaluation value corresponding to the current optimal plan.
[0123] It should be noted that the current temperature value is a parameter that decreases with the number of iterations and is used to simulate the temperature change in physical annealing. In the early stage of repeated execution, the temperature is high, and the probability of accepting and adopting the forbidden intermediate production plan is high, which is beneficial to local development, and is conducive to jumping out of the local optimal solution, and more accurately determining the target production plan that is more suitable for the tobacco to be produced.
[0124] This embodiment combines tabu search and simulated annealing algorithms to enhance search capabilities and the ability to escape local optimality, flexibly balances search quality and search efficiency, avoids excessive search, improves computational efficiency, accelerates convergence, and can balance multiple optimization objectives to meet actual production needs.
[0125] Figure 3 This is a schematic diagram of the structure of a tobacco production plan generation device provided in accordance with an embodiment of the present invention, which is used to execute the tobacco production plan generation method provided in any of the above embodiments. This device and the tobacco production plan generation method of the above embodiments belong to the same inventive concept. For details not fully described in the embodiments of the tobacco production plan generation device, please refer to the embodiments of the above tobacco production plan generation method. Figure 3 As shown, the device includes:
[0126] The information acquisition module 10 is used to obtain the production resource information and required process information corresponding to the tobacco to be produced;
[0127] The candidate production plan determination module 11 is used to determine the candidate production plan corresponding to the tobacco to be produced based on the production resource information and the required process information;
[0128] The target production plan determination module 12 is configured to determine a first evaluation value corresponding to the candidate production plan based on a pre-set evaluation function, and determine a target production plan corresponding to the tobacco to be produced based on the first evaluation value, so as to send the target production plan to the planning terminal;
[0129] The evaluation function is based on at least two preset objective functions, and the objective functions include a function of minimizing total processing time, a function of minimizing production delay, and a function of maximizing equipment utilization.
[0130] Based on any optional technical solution in the embodiment of the present invention, optionally, the candidate production plan determination module 11 includes:
[0131] A candidate production plan determination submodule is used to determine a production plan that meets preset constraints based on production resource information and required process information, as a candidate production plan corresponding to the tobacco to be produced;
[0132] The preset constraint conditions include at least one of the following:
[0133] The execution order between each process in the production plan corresponds to the preset execution order;
[0134] The number of processes performed in parallel by the production equipment used in the production plan is less than the preset number;
[0135] The actual execution time of each process in the production plan matches the preset time.
[0136] Based on any optional technical solution in the embodiment of the present invention, optionally, the candidate production plan determination module 11 includes:
[0137] The current optimal plan determination submodule is used to determine the initial production plan corresponding to the tobacco leaves to be produced based on the production resource information and the required process information, and use the initial production plan as the current optimal plan;
[0138] The critical path determination submodule is used to determine the critical path corresponding to the current optimal plan; wherein the critical path is the path composed of key processes that affect the total production time of the tobacco to be produced;
[0139] The adjustment submodule is used to adjust the current optimal plan based on the taboo search method, critical path and production resource information to obtain a candidate production plan corresponding to the current optimal plan;
[0140] The target production plan determination module 12 includes:
[0141] A second evaluation value determination submodule, configured to determine a second evaluation value corresponding to the current optimal plan based on the evaluation function;
[0142] The first determination submodule is used to update the current optimal plan based on the candidate production plan when there is at least one first evaluation value greater than the second evaluation value, repeatedly execute the step of determining the candidate production plan corresponding to the updated current optimal plan, and updating the current optimal plan based on the first evaluation value of the latest determined candidate production plan and the second evaluation value of the current optimal plan, until the preset stop condition is met, and the latest current optimal plan is determined as the target production plan corresponding to the tobacco to be produced.
[0143] Based on any optional technical solution in the embodiment of the present invention, optionally, the target production plan determination module 12 further includes:
[0144] The second determination submodule is used to readjust the current optimal plan based on the taboo search method, critical path and production resource information when the second evaluation value is greater than or equal to each first evaluation value, update the candidate production plan based on the adjustment result, and determine the first evaluation value of the updated candidate production plan, compare the second evaluation value with the first evaluation value of the updated candidate production plan, and determine the target production plan corresponding to the tobacco to be produced based on the comparison result.
[0145] Based on any optional technical solution in the embodiments of the present invention, optionally, the method further includes:
[0146] A current temperature value determination submodule is used to determine the current temperature value corresponding to the current optimal plan based on a simulated annealing algorithm before repeatedly executing the candidate production plan corresponding to the updated current optimal plan;
[0147] The third determining submodule is configured to determine the current optimal plan as the target production plan corresponding to the tobacco to be produced when the current temperature value is less than a preset temperature threshold.
[0148] Based on any optional technical solution in the embodiments of the present invention, optionally, at least one of the following stop conditions is preset:
[0149] The number of repetitions corresponding to the current repeated operation is greater than the preset maximum number of repetitions;
[0150] The current optimal plan has not been updated for more than the preset number of consecutive times during repeated execution.
[0151] Based on any optional technical solution in the embodiments of the present invention, optionally, the adjustment submodule includes:
[0152] A first adjustment unit is configured to adjust the sequence of processes in the current optimal plan; and / or,
[0153] The second adjustment unit is used to replace the equipment used in the current optimal plan.
[0154] The technical solution of the embodiment of the present invention determines a candidate production plan corresponding to the tobacco to be produced by obtaining production resource information and required process information corresponding to the tobacco to be produced; and, based on a pre-set evaluation function, determines a first evaluation value corresponding to the candidate production plan, and based on the first evaluation value, determines a target production plan corresponding to the tobacco to be produced, so as to send the target production plan to a planning terminal; since the evaluation function is based on at least two preset objective functions, the objective function includes a function for minimizing the total processing time, a function for minimizing the production delay, and a function for maximizing the equipment utilization rate, the candidate production plan can be evaluated in combination with multiple factors, which is conducive to determining the target production plan that best matches the tobacco to be produced and meets the diverse needs in the tobacco production process.
[0155] It is worth noting that in the embodiment of the above-mentioned tobacco production plan generation device, the various units and modules included are only divided according to functional logic, but are not limited to the above-mentioned division, as long as the corresponding functions can be achieved; in addition, the specific names of the functional units are only for the convenience of distinguishing each other, and are not used to limit the scope of protection of the present invention.
[0156] Figure 4 It is a structural diagram of the electronic device realizing the tobacco production plan generation method of the embodiment of the present invention.The electronic device is intended to represent various forms of digital computers, such as, laptop computers, desktop computers, workbenches, personal digital assistants, servers, blade servers, mainframe computers and other suitable computers.The electronic device can also represent various forms of mobile devices, such as, personal digital processing, cellular phones, smart phones, wearable devices (such as helmets, glasses, watches etc.) and other similar computing devices.The components shown herein, their connection and relationship and their functions are merely examples, and are not intended to limit the realization of the present invention described herein and / or required.
[0157] like Figure 4 As shown, the electronic device 20 includes at least one processor 21, and a memory connected to the at least one processor 21, such as a read-only memory (ROM) 22, a random access memory (RAM) 23, etc., wherein the memory stores a computer program that can be executed by the at least one processor, and the processor 21 can perform various appropriate actions and processes according to the computer program stored in the read-only memory (ROM) 22 or the computer program loaded from the storage unit 28 to the random access memory (RAM) 23. Various programs and data required for the operation of the electronic device 20 can also be stored in the RAM 23. The processor 21, ROM 22 and RAM 23 are connected to each other via a bus 24. An input / output (I / O) interface 25 is also connected to the bus 24.
[0158] Multiple components in the electronic device 20 are connected to the I / O interface 25, including an input unit 26, such as a keyboard, a mouse, etc.; an output unit 27, such as various types of displays, speakers, etc.; a storage unit 28, such as a magnetic disk, an optical disk, etc.; and a communication unit 29, such as a network card, a modem, a wireless communication transceiver, etc. The communication unit 29 allows the electronic device 20 to exchange information / data with other devices via a computer network such as the Internet and / or various telecommunication networks.
[0159] The processor 21 can be any general-purpose and / or specialized processing component with processing and computing capabilities. Some examples of the processor 21 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various specialized artificial intelligence (AI) computing chips, various processors for running machine learning model algorithms, a digital signal processor (DSP), and any suitable processor, controller, microcontroller, etc. The processor 21 executes the various methods and processes described above, such as the tobacco production plan generation method.
[0160] In some embodiments, the tobacco production plan generation method can be implemented as a computer program, which is tangibly contained in a computer-readable storage medium, such as a storage unit 28. In some embodiments, part or all of the computer program can be loaded and / or installed on the electronic device 20 via the ROM 22 and / or the communication unit 29. When the computer program is loaded into the RAM 23 and executed by the processor 21, one or more steps of the tobacco production plan generation method described above can be performed. Alternatively, in other embodiments, the processor 21 can be configured to execute the tobacco production plan generation method by any other appropriate means (e.g., by means of firmware).
[0161] Various embodiments of the systems and techniques described herein can be implemented in digital electronic circuit systems, integrated circuit systems, field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), application specific standard products (ASSPs), system-on-chip systems (SOCs), programmable logic devices (CPLDs), computer hardware, firmware, software, and / or combinations thereof. These various embodiments can include being implemented in one or more computer programs that are executable and / or interpreted on a programmable system that includes at least one programmable processor, which can be a special purpose or general purpose programmable processor that can receive data and instructions from a storage system, at least one input device, and at least one output device, and transmit data and instructions to the storage system, the at least one input device, and the at least one output device.
[0162] Computer programs for implementing the methods of the present invention may be written in any combination of one or more programming languages. These computer programs may be provided to a processor of a general-purpose computer, a special-purpose computer, or other programmable data processing device, such that when the computer program is executed by the processor, the functions / operations specified in the flowcharts and / or block diagrams are implemented. The computer program may be executed entirely on the machine, partially on the machine, as a stand-alone software package, partially on the machine and partially on a remote machine, or entirely on a remote machine or server.
[0163] In the context of the present invention, computer-readable storage media can be tangible media that can contain or store a computer program for use with an instruction execution system, device or equipment or used in combination with an instruction execution system, device or equipment. Computer-readable storage media can include but are not limited to electronic, magnetic, optical, electromagnetic, infrared or semiconductor systems, devices or equipment, or any suitable combination of the foregoing. Alternatively, computer-readable storage media can be machine-readable signal media. More specific examples of machine-readable storage media can include electrical connections based on one or more lines, portable computer disks, hard disks, random access memories (RAM), read-only memories (ROM), erasable programmable read-only memories (EPROM or flash memory), optical fibers, portable compact disk read-only memories (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination of the foregoing.
[0164] To provide interaction with a user, the systems and techniques described herein can be implemented on an electronic device having: a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to the user; and a keyboard and pointing device (e.g., a mouse or trackball) through which the user can provide input to the electronic device. Other types of devices can also be used to provide interaction with the user; for example, the feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form (including acoustic input, voice input, or tactile input).
[0165] The systems and techniques described herein can be implemented in a computing system that includes back-end components (e.g., as a data server), or a computing system that includes middleware components (e.g., an application server), or a computing system that includes front-end components (e.g., a user computer with a graphical user interface or web browser through which a user can interact with implementations of the systems and techniques described herein), or a computing system that includes any combination of such back-end components, middleware components, or front-end components. The components of the system can be interconnected by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include: a local area network (LAN), a wide area network (WAN), a blockchain network, and the Internet.
[0166] A computing system may include clients and servers. The clients and servers are typically remote from each other and typically interact via a communication network. This client-server relationship arises through computer programs running on the respective computers, creating a client-server relationship. The server may be a cloud server, also known as a cloud computing server or cloud host. This server is a hosting product within the cloud computing service ecosystem that addresses the management difficulties and limited scalability of traditional physical hosting and VPS services.
[0167] In particular, according to an embodiment of the present invention, the process described above with reference to the flowchart can be implemented as a computer software program. For example, an embodiment of the present invention includes a computer program product that includes a computer program carried on a non-transitory computer-readable medium, the computer program containing program code for executing the method shown in the flowchart. In such an embodiment, the computer program can be downloaded and installed from the network via the communication unit 29, or installed from the storage unit 28, or installed from the ROM 22. When the computer program is executed by the processor 21, the above-mentioned functions defined in the method of the embodiment of the present invention are performed.
[0168] The computer program product may be implemented by writing computer program code for performing the operations of the present invention in one or more programming languages, or a combination thereof, including object-oriented programming languages such as Java, Smalltalk, C++, and conventional procedural programming languages such as "C" or similar programming languages. The program code may be executed entirely on the user's computer, partially on the user's computer, as a stand-alone software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In cases involving a remote computer, the remote computer may be connected to the user's computer via any type of network, including a local area network (LAN) or a wide area network (WAN), or may be connected to an external computer (e.g., via the Internet using an Internet service provider).
[0169] It should be understood that the various forms of the processes shown above can be used to reorder, add, or delete steps. For example, the steps described in the present invention can be performed in parallel, sequentially, or in a different order, as long as the desired results of the technical solution of the present invention can be achieved. This is not limited herein.
[0170] The above specific embodiments do not limit the scope of protection of the present invention. Those skilled in the art will appreciate that various modifications, combinations, sub-combinations, and substitutions may be made based on design requirements and other factors. Any modifications, equivalent substitutions, and improvements made within the spirit and principles of the present invention are intended to be included within the scope of protection of the present invention.
Claims
1. A tobacco production plan generation method, characterized in that: include: Obtaining production resource information and required process information corresponding to the tobacco to be produced; Determining a candidate production plan corresponding to the tobacco to be produced based on the production resource information and the required process information; Determining a first evaluation value corresponding to the candidate production plan based on a preset evaluation function, and determining a target production plan corresponding to the tobacco to be produced based on the first evaluation value, so as to send the target production plan to a planning terminal; The evaluation function is based on at least two preset objective functions, which include a function of minimizing total processing time, a function of minimizing production delay, and a function of maximizing equipment utilization.
2. The method according to claim 1, characterized in that The step of determining a candidate production plan corresponding to the tobacco to be produced based on the production resource information and the required process information includes: Based on the production resource information and the required process information, determining a production plan that meets preset constraints as a candidate production plan corresponding to the tobacco to be produced; The preset constraint condition includes at least one of the following: The execution order of each process in the production plan corresponds to the preset execution order; The number of processes executed in parallel by the production equipment used in the production plan is less than a preset number; The actual execution time of each process in the production plan matches the preset time.
3. The method according to claim 1, characterized in that The step of determining a candidate production plan corresponding to the tobacco to be produced based on the production resource information and the required process information includes: Determining an initial production plan corresponding to the tobacco leaves to be produced based on the production resource information and the required process information, and using the initial production plan as the current optimal plan; Determining a critical path corresponding to the current optimal plan; wherein the critical path is a path consisting of key processes that affect the total production time of the tobacco to be produced; Adjusting the current optimal plan based on the taboo search method, the critical path, and the production resource information to obtain a candidate production plan corresponding to the current optimal plan; The step of determining a target production plan corresponding to the tobacco to be produced based on the first evaluation value includes: Determining a second evaluation value corresponding to the current optimal plan based on the evaluation function; When there is at least one case where the first evaluation value is greater than the second evaluation value, the current optimal plan is updated based on the candidate production plan, and the step of determining the candidate production plan corresponding to the updated current optimal plan is repeated, and the step of updating the current optimal plan based on the first evaluation value of the latest determined candidate production plan and the second evaluation value of the current optimal plan is repeated until the preset stop condition is met, and the latest current optimal plan is determined as the target production plan corresponding to the tobacco to be produced.
4. The method according to claim 3, characterized in that Also includes: When the second evaluation value is greater than or equal to each of the first evaluation values, the current optimal plan is readjusted based on the taboo search method, the critical path and the production resource information, the candidate production plan is updated based on the adjustment result, and the first evaluation value of the updated candidate production plan is determined, the second evaluation value is compared with the first evaluation value of the updated candidate production plan, and the target production plan corresponding to the tobacco to be produced is determined based on the comparison result.
5. The method according to claim 3, characterized in that Before repeatedly determining the candidate production plan corresponding to the updated current optimal plan, the method further includes: Determining a current temperature value corresponding to the current optimal plan based on a simulated annealing algorithm; When the current temperature value is less than a preset temperature threshold, the current optimal plan is determined as the target production plan corresponding to the tobacco to be produced.
6. The method according to claim 4, characterized in that The preset stop condition is at least one of the following: The number of repetitions corresponding to the current repeated operation is greater than the preset maximum number of repetitions; The current optimal plan is not updated for a continuous number of times during repeated execution that is greater than a preset number.
7. The method according to claim 3, characterized in that The adjusting of the current optimal plan includes: Adjusting the sequence of processes in the current optimal plan; and / or, Replace all equipment used in the current optimal plan.
8. A tobacco production plan generating device, characterized in that: include: An information acquisition module is used to obtain production resource information and required process information corresponding to the tobacco to be produced; a candidate production plan determination module, configured to determine a candidate production plan corresponding to the tobacco to be produced based on the production resource information and the required process information; a target production plan determination module, configured to determine a first evaluation value corresponding to the candidate production plan based on a pre-set evaluation function, and determine a target production plan corresponding to the tobacco to be produced based on the first evaluation value, so as to send the target production plan to a planning terminal; The evaluation function is based on at least two preset objective functions, which include a function of minimizing total processing time, a function of minimizing production delay, and a function of maximizing equipment utilization.
9. An electronic device, characterized in that: The electronic device comprises: at least one processor; and a memory communicatively connected to the at least one processor; wherein, The memory stores a computer program executable by the at least one processor. The computer program is executed by the at least one processor to enable the at least one processor to execute the tobacco production plan generating method according to any one of claims 1 to 7.
10. A computer-readable storage medium, characterized in that The computer-readable storage medium stores computer instructions, and the computer instructions are used to enable a processor to implement the tobacco production plan generation method according to any one of claims 1 to 7 when executed.