Method, system and device for searching solutions to serial integer linear programming problems
By using tight moving operators and solving state statistics in the local search for integer planning, the problems of low adaptability and low solution efficiency in the prior art are solved, and more efficient integer planning solutions are achieved.
Patent Information
- Application Number
- CN202410399880.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-04-03
- Publication Date
- 2025-02-07
- Estimated Expiration
- 2044-04-03
AI Technical Summary
The existing integer planning local search solvers have low adaptability and are difficult to use solution state statistics, resulting in low solution efficiency.
By configuring the initial solution and using the tight moving operator within the preset solution time threshold to generate the neighborhood of the current solution in the local search process, statistically calculate the solution state and calculate the application probability of the tight moving operator, probabilistically select the tight moving operator. to update the current solution.
It improves the solution efficiency of integer programming problems, enhances the adaptability of the search algorithm, and can better adapt to the characteristics of integer programming problems.
Smart Images

Figure CN118113987B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of computer software verification, and in particular to a method, system and device for searching solutions to serial integer linear programming problems. Background Art
[0002] The local search integer programming solver is a tool for solving operations optimization problems, and can be used to solve problems in the fields of logistics, production, supply chain, air transportation, etc. For example, in a transportation planning scenario, users model warehouse locations, destination locations, transportation equipment, and road network information in mathematical form, and call the local search solver to obtain the solution of the mathematical model and convert it into a transportation plan output.
[0003] The solution process of the local search solver is to generate new solutions by constantly modifying the values of variables. The operator defines how to modify the variable, for example, adding 1 to the variable x, or moving the variable x to a value that just satisfies the constraint j. In traditional integer programming solvers, the rules for selecting operators are often fixed according to the current state, and it is impossible to formulate a probabilistic method for selecting the applied operator, and it is difficult to adaptively change the applied operator.
[0004] In summary, the existing local search solver for integer programming has a low degree of adaptability during the solution process, cannot make good use of the solution state statistical information during the solution, and has low solution efficiency. Summary of the invention
[0005] In view of the above problems, the present invention is proposed to provide a method, system and device for searching solutions to serial integer linear programming problems that overcome the above problems or at least partially solve the above problems.
[0006] One aspect of the present invention provides a method for searching a solution to a serial integer linear programming problem, the method comprising:
[0007] S11, configuring an initial solution to the integer linear programming problem to be solved, and performing a local search with the initial solution;
[0008] S12, before reaching a preset solution time threshold, using tight movement as an operator to generate a neighborhood of the current solution in the local search process; wherein the tight movement includes tight movement that satisfies the constraint and tight movement that does not satisfy the constraint;
[0009] S13, collecting statistics of solution state statistics during the local search process, and calculating the application probability of each tight move operator according to the solution state statistics;
[0010] S14, probabilistically selecting an adjacent solution corresponding to a corresponding compact moving operator from a neighborhood of the current solution as an updated current solution according to the application probability of each compact moving operator;
[0011] Return to step S12, and repeat the local search process of steps S12 to S14 until a preset solution time threshold is reached;
[0012] S15. Using the updated current solution obtained when the preset solution time threshold is reached as a feasible solution to the integer linear programming problem to be solved.
[0013] Furthermore, the step S13 includes:
[0014] Count the total number of constraints nCons of the integer linear programming problem to be solved, the number of constraints satisfied by the current solution satCons, and the number of unsatCons of constraints not satisfied;
[0015] The ratio of satCons to nCons is taken as the application probability of the tight move operator that satisfies the constraints, and the ratio of unsatCons to nCons is taken as the application probability of the tight move operator that does not satisfy the constraints.
[0016] Furthermore, the step S13 includes:
[0017] Count the total number of constraints nCons of the integer linear programming problem to be solved, the number of times the target constraints are satisfied yesCons within the preset time length, and the number of times they are not satisfied noCons;
[0018] Calculate the product of nCons and the time length;
[0019] The ratio of yesCons to the product is used as the application probability of the tight move operator that meets the target constraint, and the ratio of noCons to the product is used as the application probability of the tight move operator that does not meet the target constraint.
[0020] Further, areas where compact moves are used to generate current solutions include:
[0021] Apply each compact move to the current solution to obtain each new solution corresponding to the corresponding compact move operator, and use the solution set composed of the new solutions as the neighborhood of the current solution.
[0022] In a second aspect, the present invention further provides a solution search system for a serial integer linear programming problem, the system comprising:
[0023] A configuration module, used for configuring an initial solution of the integer linear programming problem to be solved, and performing a local search with the initial solution;
[0024] A neighborhood generation module, used to generate a neighborhood of a current solution in a local search process using a tight move as an operator before reaching a preset solution time threshold; wherein the tight move includes a tight move that satisfies the constraint and a tight move that does not satisfy the constraint;
[0025] A statistical module, used for collecting statistics of solution state statistics during the local search process, and calculating the application probability of each compact movement operator according to the solution state statistics;
[0026] A solution updating module, used for probabilistically selecting an adjacent solution corresponding to a corresponding compact moving operator from a neighborhood of a current solution as an updated current solution according to the application probability of each compact moving operator;
[0027] Return to the neighborhood generation module and repeat the local search process until the preset solution time threshold is reached;
[0028] The solution output module is used to use the updated current solution obtained when a preset solution time threshold is reached as a feasible solution to the integer linear programming problem to be solved.
[0029] Furthermore, the statistical module includes:
[0030] A statistical unit, used to count the total number of constraints nCons of the integer linear programming problem to be solved, the number of constraints satisfied by the current solution satCons, and the number of unsatCons of constraints not satisfied;
[0031] The first calculation unit is used to use the ratio of satCons to nCons as the application probability of the tight movement operator that meets the constraint, and use the ratio of unsatCons to nCons as the application probability of the tight movement operator that does not meet the constraint.
[0032] Furthermore, the statistical module includes:
[0033] A statistical unit, used to count the total number of constraints nCons of the integer linear programming problem to be solved, the number of times the target constraint is satisfied yesCons within a preset time length, and the number of times it is not satisfied noCons;
[0034] The second calculation unit is used to calculate the product of nCons and the time length;
[0035] The second calculation unit is further used to use the ratio of yesCons to the product as the application probability of the tight move operator that meets the target constraint, and use the ratio of noCons to the product as the application probability of the tight move operator that does not meet the target constraint.
[0036] Furthermore, the neighborhood generation module is used to apply each compact move to the current solution to obtain each new solution corresponding to the corresponding compact move operator, and use the solution set composed of the new solutions as the neighborhood of the current solution.
[0037] In a third aspect, the present invention further provides a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements the steps of the solution search method for the serial integer linear programming problem as described above.
[0038] In a fourth aspect, the present invention further provides a computer device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor implements the steps of the above-mentioned method for searching solutions to serial integer linear programming problems when executing the computer program.
[0039] The solution search method, system and device for serial integer linear programming problems provided by the embodiments of the present invention calculate the probability of applying each tight move operator according to the solution state statistical information in the local search process, and probabilistically select the operator to be applied. Since the statistical information reflects the performance of the local search in solving this problem and takes into account the satisfaction of various constraints in the integer programming, it can better adapt to the characteristics of the integer programming problem. Selecting an operator that is more suitable for the current solution state according to the solution state statistical information can improve the adaptability of the search algorithm and improve the solution efficiency.
[0040] The above description is only an overview of the technical solution of the present invention. In order to more clearly understand the technical means of the present invention, it can be implemented according to the contents of the specification. In order to make the above and other purposes, features and advantages of the present invention more obvious and easy to understand, the specific implementation methods of the present invention are listed below. BRIEF DESCRIPTION OF THE DRAWINGS
[0041] Various other advantages and benefits will become apparent to those of ordinary skill in the art by reading the detailed description of the preferred embodiments below. The accompanying drawings are only for the purpose of illustrating the preferred embodiments and are not to be considered as limiting the present invention. Moreover, the same reference symbols are used throughout the accompanying drawings to represent the same components. In the accompanying drawings:
[0042] Figure 1 A flow chart of a method for searching a solution to a serial integer linear programming problem provided by an embodiment of the present invention;
[0043] Figure 2 A structural block diagram of a solution search system for a serial integer linear programming problem is provided for an embodiment of the present invention. DETAILED DESCRIPTION
[0044] The exemplary embodiments of the present disclosure will be described in more detail below with reference to the accompanying drawings. Although the exemplary embodiments of the present disclosure are shown in the accompanying drawings, it should be understood that the present disclosure can be implemented in various forms and should not be limited by the embodiments set forth herein. On the contrary, these embodiments are provided to enable a more thorough understanding of the present disclosure and to fully convey the scope of the present disclosure to those skilled in the art.
[0045] Those skilled in the art will appreciate that, unless otherwise stated, the singular forms "a", "an", "said" and "the" used herein may also include plural forms. It should be further understood that the term "comprising" used in the specification of the present invention refers to the presence of the features, integers, steps, operations, elements and / or components, but does not exclude the presence or addition of one or more other features, integers, steps, operations, elements, components and / or groups thereof.
[0046] Those skilled in the art will appreciate that, unless otherwise defined, all terms (including technical and scientific terms) used herein have the same meaning as those generally understood by those skilled in the art in the art to which the present invention belongs. It should also be understood that terms such as those defined in general dictionaries should be understood to have meanings consistent with the meanings in the context of the prior art, and will not be interpreted with idealized or overly formal meanings unless specifically defined.
[0047] Figure 1 The flowchart of the method for searching for a solution to a serial integer linear programming problem according to an embodiment of the present invention is schematically shown. Figure 1 The solution search method for the serial integer linear programming problem of the embodiment of the present invention specifically includes the following steps:
[0048] S11. configuring an initial solution to the integer linear programming problem to be solved, and performing a local search with the initial solution.
[0049] The integer linear programming (ILP) problem is a linear programming problem in which the variables are integers. The present invention adopts local search to solve the integer linear programming (ILP) problem. Among them, the technical basis of the present invention is local search and tight move. Among them, local search can be understood as randomly specifying an initial solution, and each time an operator is selected to change the current solution to explore new solutions. Then within a given time threshold, the search is continuously carried out in the field until the time runs out and the best possible historical optimal solution is obtained, or there is no solution.
[0050] S12. Before reaching a preset solution time threshold, use tight movement as an operator to generate a neighborhood of the current solution in the local search process.
[0051] Among them, tight move (Tight Move): reassign the variable x_j in the current solution to make the constraint con_i as tight as possible while ensuring that x_j is within the legal range. It can be seen that the tight move tm(x_j,con_i) is the assignment of x_j that makes con_i as tight as possible. For the current solution X, all tight moves tm(x_j,con_i) consisting of all constraints con_i and the variables x_j contained therein are candidate tight moves. Depending on whether con_i is satisfied, tight moves can be divided into two categories, including tight moves that satisfy the constraints and tight moves that do not satisfy them. Specifically, for tight moves tm(x_j,con_i), if the constraint con_i is satisfied, then tm(x_j,con_i) is a tight move in the satisfied constraints, otherwise it is a tight move in the unsatisfied constraints. In this embodiment, an assignment of all variables x_i is called solution X. Apply any tight move tm(x_j,con_i) to this solution to obtain a new solution X'. For the current solution X, all solutions X' that can be reached by one tight move are called adjacent solutions. The set of adjacent solutions X' is called the neighborhood. The neighborhood serves the local search. At each step of the local search, for the current solution X, an optimal solution is selected from all adjacent solutions X' (that is, the set of these solutions is called the neighborhood) as the new current solution until the time runs out and the best possible historical optimal solution is obtained, or there is no solution.
[0052] It should be noted that the local search may enter a local optimal state, that is, there is no better solution in the neighborhood, but this solution is not the global optimal solution to the problem itself.
[0053] S13. Collect statistics on solution state statistics during the local search process, and calculate the application probability of each compact move operator based on the solution state statistics.
[0054] The solution status statistical information is information used to reflect the performance of the local search in solving the integer linear programming problem to be solved.
[0055] S14. Probabilistically select an adjacent solution corresponding to a corresponding tight moving operator from the neighborhood of the current solution as the updated current solution according to the application probability of each tight moving operator.
[0056] In this embodiment, all tight move operators are composed of two types of tight moves: tight moves that satisfy the constraints and tight moves that do not satisfy the constraints. The probability determines which type is selected (the sum of the two probabilities is equal to 1). In the selected type, according to the local search criterion, an adjacent solution corresponding to an optimal tight move is selected as the solution for the next step.
[0057] Return to step S12, and repeat the local search process of steps S12 to S14 until a preset solution time threshold is reached;
[0058] S15. Using the updated current solution obtained when the preset solution time threshold is reached as a feasible solution to the integer linear programming problem to be solved.
[0059] In this embodiment, the field of using tight moves to generate the current solution specifically includes: applying each tight move to the current solution to obtain each new solution corresponding to the corresponding tight move operator, and using the solution set composed of the new solutions as the neighborhood of the current solution.
[0060] The solution search method for serial integer linear programming problems provided by an embodiment of the present invention calculates the probability of applying each tight move operator according to the solution state statistical information in the local search process, and probabilistically selects the operator to be applied. Since the statistical information reflects the performance of the local search in solving this problem and takes into account the satisfaction of various constraints in the integer programming, it can better adapt to the characteristics of the integer programming problem. Selecting an operator that is more suitable for the current solution state according to the solution state statistical information can improve the adaptability of the search algorithm and improve the solution efficiency.
[0061] In an optional embodiment of the present invention, the solution state statistics refer to the number of currently satisfied constraints (satCons), the number of unsatisfied constraints (unsatCons), and the total number of constraints (nCons). Assuming that the current solution is X, all constraints of the problem to be solved are {cons}, substitute X into any constraint con_i. If the inequality corresponding to this constraint holds, the constraint is satisfied. Otherwise, the constraint is not satisfied. Therefore, substituting X into all con_i and testing once can determine how many constraints are satisfied and how many constraints are not satisfied. Further, the step S13 specifically includes:
[0062] Count the total number of constraints nCons of the integer linear programming problem to be solved, the number of constraints satisfied by the current solution satCons, and the number of unsatCons of constraints not satisfied;
[0063] The ratio of satCons to nCons is taken as the application probability of the tight move operator that satisfies the constraints, and the ratio of unsatCons to nCons is taken as the application probability of the tight move operator that does not satisfy the constraints.
[0064] In the embodiment of the present invention, the tight moves in the satisfied constraints and the tight moves in the unsatisfied constraints can be combined to form the neighborhood of the current solution, and each tight move is an operator used to change the current solution. The probability of applying each operator is calculated based on the statistical information in the local search process, and the operator to be applied is selected probabilistically. Specifically, during the operation, the tight moves in the satisfied constraints are selected with a probability of satCons / nCons, and the unsatisfied tight moves are selected with a probability of unsatCons / nCons. Where nCons = satCons + unsatCons.
[0065] Since the more constraints that are satisfied, the larger the neighborhood generated by the tight movement that satisfies the constraints, the greater the probability of obtaining a good neighbor, so the probability of selecting the tight movement operator that satisfies the constraints should be greater. The same is true for the tight movement that does not satisfy the constraints. Therefore, the present invention can better adapt to the characteristics of integer programming problems, and selecting an operator that is more suitable for the current solution state according to statistical information can improve the ability of the search algorithm to adapt and improve the solution efficiency.
[0066] In another optional embodiment of the present invention, other types of solution status statistical information may also be used, such as the number of times a constraint is satisfied / not satisfied within a period of time and the ratio of the total number of constraints*time length as the probability selection.
[0067] Specifically, the solution status statistics in this embodiment refers to the number of currently satisfied constraints (satCons), the number of times the target constraints are satisfied within a preset time length (yesCons), and the number of times they are not satisfied (noCons). Further, the step S13 specifically includes:
[0068] Count the total number of constraints nCons of the integer linear programming problem to be solved, the number of times the target constraints are satisfied yesCons within the preset time length, and the number of times they are not satisfied noCons;
[0069] Calculate the product of nCons and the time length;
[0070] The ratio of yesCons to the product is used as the application probability of the tight move operator that meets the target constraint, and the ratio of noCons to the product is used as the application probability of the tight move operator that does not meet the target constraint.
[0071] The following is an example of using the solution search method for the serial integer linear programming problem of the present invention in a specific scenario.
[0072] Take the scheduling problem as an example: the scheduling problem refers to how to reasonably allocate limited resources to complete a series of tasks. This problem has wide applications in production, manufacturing, logistics, education, medical care and other fields. For example, production scheduling in the manufacturing industry, flight scheduling of airlines, teacher and classroom scheduling in educational institutions, and doctor and patient scheduling in hospitals are all scheduling problems. Modeling the scheduling problem as an integer linear programming problem is mainly divided into the following three steps: 1. Determine the decision variables 2. Establish the objective function 3. Establish constraints. Taking production scheduling as an example, possible decision variables include the start time and end time of each task; the objective function may be to minimize the completion time of the last task; the constraints may include that the start time of each task must be later than the end time of its dependent tasks, and the duration of each task cannot exceed the occupancy time of its available resources. After modeling the scheduling problem as an integer linear programming problem, the model file can be passed into the solution system program of the present invention, and solved using the solution search method of the serial integer linear programming problem. Finally, the solution is converted into a scheduling scheme and output.
[0073] The present invention can better describe the performance of the solution algorithm in the solution process and the difficulty of satisfying the problem constraints by statistically analyzing the solution status information in the solution process, adaptively select operators, better adjust the search strategy to adapt to the problem, and improve the solution efficiency.
[0074] For the method embodiments, for the sake of simplicity, they are all described as a series of action combinations, but those skilled in the art should know that the embodiments of the present invention are not limited by the order of the actions described, because according to the embodiments of the present invention, some steps can be performed in other orders or simultaneously. Secondly, those skilled in the art should also know that the embodiments described in the specification are all preferred embodiments, and the actions involved are not necessarily required by the embodiments of the present invention.
[0075] In addition, an embodiment of the present invention also provides a solution search system for a serial integer linear programming problem. Figure 2 The solution search system for a serial integer linear programming problem according to an embodiment of the present invention includes a functional module for implementing the solution search method for a serial integer linear programming problem according to any of the above embodiments, specifically including a configuration module 201, a neighborhood generation module 202, a statistics module 203, a solution update module 204 and a solution output module 205, wherein:
[0076] Configuration module 201, used to configure an initial solution of the integer linear programming problem to be solved, and perform local search with the initial solution;
[0077] A neighborhood generation module 202 is used to generate a neighborhood of a current solution in a local search process using a tight move as an operator before reaching a preset solution time threshold; wherein the tight move includes a tight move that satisfies the constraint and a tight move that does not satisfy the constraint;
[0078] A statistics module 203 is used to collect statistics of solution state statistics information in the local search process, and calculate the application probability of each tight move operator according to the solution state statistics information;
[0079] A solution updating module 204, configured to probabilistically select an adjacent solution corresponding to a corresponding tight moving operator from a neighborhood of a current solution as an updated current solution according to the application probability of each tight moving operator;
[0080] Return to the neighborhood generation module and repeat the local search process until the preset solution time threshold is reached;
[0081] The solution output module 205 is used to use the updated current solution obtained when the preset solution time threshold is reached as a feasible solution to the integer linear programming problem to be solved.
[0082] In an optional embodiment of the present invention, the statistical module 203 includes a first statistical unit and a first calculation unit which are not shown in the drawings:
[0083] A first statistical unit is used to count the total number of constraints nCons of the integer linear programming problem to be solved, the number of constraints satisfied by the current solution satCons, and the number of unsatCons of constraints not satisfied;
[0084] The first calculation unit is used to use the ratio of satCons to nCons as the application probability of the tight movement operator that meets the constraint, and use the ratio of unsatCons to nCons as the application probability of the tight movement operator that does not meet the constraint.
[0085] In an optional embodiment of the present invention, the statistical module 203 includes a second statistical unit and a second calculation unit not shown in the drawings:
[0086] The second statistical unit is used to count the total number of constraints nCons of the integer linear programming problem to be solved, the number of times yesCons that the target constraint is satisfied within a preset time length, and the number of times noCons that the target constraint is not satisfied;
[0087] The second calculation unit is used to calculate the product of nCons and the time length;
[0088] The second calculation unit is further used to use the ratio of yesCons to the product as the application probability of the tight move operator that meets the target constraint, and use the ratio of noCons to the product as the application probability of the tight move operator that does not meet the target constraint.
[0089] In an optional embodiment of the present invention, the neighborhood generation module 202 is used to use a solution set including each new solution obtained by applying each compact move to the current solution as the neighborhood of the current solution.
[0090] As for the system embodiment, since it is basically similar to the method embodiment, the description is relatively simple, and the relevant parts can be referred to the partial description of the method embodiment, and it has the corresponding technical effects.
[0091] In addition, an embodiment of the present invention further provides a computer-readable storage medium on which a computer program is stored. When the computer program is executed by a processor, the steps of the solution search method for the serial integer linear programming problem are implemented as described above.
[0092] In this embodiment, if the solution search method for the serial integer linear programming problem is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the present invention implements all or part of the processes in the above-mentioned embodiment method, and can also be completed by instructing the relevant hardware through a computer program. The computer program can be stored in a computer-readable storage medium, and the computer program can implement the steps of the above-mentioned various method embodiments when executed by the processor. Among them, the computer program includes computer program code, and the computer program code can be in source code form, object code form, executable file or some intermediate form. The computer-readable medium may include: any entity or device capable of carrying the computer program code, recording medium, U disk, mobile hard disk, disk, optical disk, computer memory, read-only memory (ROM, Read-Only Memory), random access memory (RAM, Random Access Memory), electric carrier signal, telecommunication signal and software distribution medium. It should be noted that the content contained in the computer-readable medium can be appropriately increased or decreased according to the requirements of legislation and patent practice in the jurisdiction. For example, in some jurisdictions, according to legislation and patent practice, computer-readable media do not include electric carrier signals and telecommunication signals.
[0093] In addition, an embodiment of the present invention further provides a computer device, including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor implements the steps of the above method for searching for solutions to a serial integer linear programming problem when executing the computer program. Figure 1Alternatively, when the processor executes the computer program, the functions of each module / unit in the above-mentioned serial integer linear programming problem solution search system embodiment are realized, for example Figure 2 The configuration module 201, the neighborhood generation module 202, the statistics module 203, the solution update module 204 and the solution output module 205 are shown.
[0094] The solution search method, system and device for serial integer linear programming problems provided by the embodiments of the present invention calculate the probability of applying each tight move operator according to the solution state statistical information in the local search process, and probabilistically select the operator to be applied. Since the statistical information reflects the performance of the local search in solving this problem and takes into account the satisfaction of various constraints in the integer programming, it can better adapt to the characteristics of the integer programming problem. Selecting an operator that is more suitable for the current solution state according to the solution state statistical information can improve the adaptability of the search algorithm and improve the solution efficiency.
[0095] Furthermore, by statistically analyzing the solution status information during the solution process, we can better describe the performance of the solution algorithm during the solution process and the difficulty of satisfying the problem constraints, adaptively select operators, better adjust the search strategy to adapt to the problem, and improve the solution efficiency.
[0096] In addition, those skilled in the art will appreciate that, although some embodiments herein include certain features included in other embodiments but not other features, the combination of features of different embodiments is meant to be within the scope of the present invention and form different embodiments. For example, any one of the claimed embodiments may be used in any combination.
[0097] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present invention, rather than to limit it. Although the present invention has been described in detail with reference to the aforementioned embodiments, those skilled in the art should understand that they can still modify the technical solutions described in the aforementioned embodiments, or make equivalent replacements for some of the technical features therein. However, these modifications or replacements do not deviate the essence of the corresponding technical solutions from the spirit and scope of the technical solutions of the embodiments of the present invention.
Claims
1. A method for searching for solutions to a serial integer linear programming problem, characterized in that: The method comprises: S11, modeling the production scheduling problem as an integer linear programming problem, using the obtained integer linear programming problem as the integer linear programming problem to be solved, configuring an initial solution of the integer linear programming problem to be solved, and performing local search with the initial solution; modeling the production scheduling problem as an integer linear programming problem includes: determining decision variables, the decision variables include the start time and end time of each task, establishing an objective function, the objective function is to minimize the completion time of the last task, and establishing constraints, the constraints include that the start time of each task must be later than the end time of its dependent tasks, and the duration of each task cannot exceed the occupation time of its available resources; S12, before reaching a preset solution time threshold, using tight movement as an operator to generate a neighborhood of the current solution in the local search process; wherein the tight movement includes tight movement that satisfies the constraints and tight movement that does not satisfy the constraints; the tight movement specifically reassigns the variables in the current solution to make the constraints as tight as possible while ensuring that the variables are within a legal range; S13, statistics are collected on the solution status statistical information in the local search process, and the application probability of each tight moving operator is calculated based on the solution status statistical information; the step S13 specifically includes: counting the total number of constraints nCons of the integer linear programming problem to be solved, the number of constraints satCons satisfied by the current solution, and the number of constraints unsatCons not satisfied, and taking the ratio of satCons to nCons as the application probability of the tight moving operator that satisfies the constraints, and taking the ratio of unsatCons to nCons as the application probability of the tight moving operator that does not satisfy the constraints; or, counting the total number of constraints nCons of the integer linear programming problem to be solved, the number of times yesCons that the target constraint is satisfied within a preset time length, and the number of times noCons that the target constraint is not satisfied, calculating the product of nCons and the time length, taking the ratio of yesCons to the product as the application probability of the tight moving operator that satisfies the target constraint, and taking the ratio of noCons to the product as the application probability of the tight moving operator that does not satisfy the target constraint; S14, probabilistically selecting an adjacent solution corresponding to a corresponding compact moving operator from a neighborhood of the current solution as an updated current solution according to the application probability of each compact moving operator; Return to step S12, and repeat the local search process of steps S12 to S14 until a preset solution time threshold is reached; S15. The updated current solution obtained when the preset solution time threshold is reached is used as a feasible solution to the integer linear programming problem to be solved, and the feasible solution is converted into a scheduling plan and output.
2. The method according to claim 1, characterized in that The neighborhoods that generated the current solution using compact moves include: Apply each compact move to the current solution to obtain each new solution corresponding to the corresponding compact move operator, and use the solution set composed of the new solutions as the neighborhood of the current solution.
3. A solution search system for a serial integer linear programming problem, characterized in that: The system comprises: A configuration module is used to model the production scheduling problem as an integer linear programming problem, use the obtained integer linear programming problem as the integer linear programming problem to be solved, configure an initial solution of the integer linear programming problem to be solved, and perform local search with the initial solution; modeling the production scheduling problem as an integer linear programming problem includes: determining decision variables, the decision variables include the start time and end time of each task, establishing an objective function, the objective function is to minimize the completion time of the last task, and establishing constraints, the constraints include that the start time of each task must be later than the end time of its dependent tasks, and the duration of each task cannot exceed the occupation time of its available resources; A neighborhood generation module is used to generate the neighborhood of the current solution in the local search process using tight movement as an operator before reaching a preset solution time threshold; wherein tight movement includes tight movement that satisfies the constraints and tight movement that does not satisfy the constraints; tight movement specifically reassigns the variables in the current solution to make the constraints as tight as possible while ensuring that the variables are within the legal range; A statistical module, used for collecting statistics of solution state statistics during the local search process, and calculating the application probability of each compact movement operator according to the solution state statistics; A solution updating module, used for probabilistically selecting an adjacent solution corresponding to a corresponding compact moving operator from a neighborhood of a current solution as an updated current solution according to the application probability of each compact moving operator; Return to the neighborhood generation module and repeat the local search process until the preset solution time threshold is reached; A solution output module is used to use the updated current solution obtained when a preset solution time threshold is reached as a feasible solution to the integer linear programming problem to be solved, and convert the feasible solution into a scheduling plan and output it; The statistical module includes: a statistical unit, used to count the total number of constraints nCons of the integer linear programming problem to be solved, the number of constraints satCons satisfied by the current solution, and the number of constraints unsatCons not satisfied; a first calculation unit, used to use the ratio of satCons to nCons as the application probability of a tight moving operator that satisfies the constraints, and the ratio of unsatCons to nCons as the application probability of a tight moving operator that does not satisfy the constraints; or; The statistical module includes: a statistical unit, which is used to count the total number of constraints nCons of the integer linear programming problem to be solved, the number of times yesCons that the target constraint is satisfied within a preset time length, and the number of times noCons that it is not satisfied; a second calculation unit, which is used to calculate the product of nCons and the time length; the second calculation unit is also used to use the ratio of yesCons to the product as the application probability of the tight moving operator that meets the target constraint, and use the ratio of noCons to the product as the application probability of the tight moving operator that does not meet the target constraint.
4. The system according to claim 3, characterized in that The neighborhood generation module is used to apply each compact move to the current solution to obtain each new solution corresponding to the corresponding compact move operator, and use the solution set composed of the new solutions as the neighborhood of the current solution.
5. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the steps of the method according to any one of claims 1 to 2 are implemented.
6. A computer device, characterized in that: The method comprises a memory, a processor and a computer program stored in the memory and executable on the processor, wherein the processor implements the steps of the method according to any one of claims 1 to 2 when executing the computer program.
Citation Information
Patent Citations
A joint scheduling method for site selection and logistics distribution of an electric vehicle battery swap station
CN109583650A
Cutting path planning method and system for large-scale blanking
CN114925915A