Branch strategy determination method and device for mixed integer programming, equipment and storage medium

By embedding branch strategies generated by large language models into traditional solvers, the problem of lack of targetedness and labor-consuming traditional methods based on machine learning methods is solved, and a hybrid integer programming solution with high performance and good interpretability is achieved.

CN119830736AInactive Publication Date: 2025-04-15SHANGHAI ARTIFICIAL INTELLIGENCE INNOVATION CENT
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411901949.9
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-12-23
Publication Date
2025-04-15
Estimated Expiration
Not applicable · inactive patent

AI Technical Summary

Technical Problem

Traditional branch bounding algorithms lack targetedness when solving mixed integer programming problems, and machine learning-based methods consume manpower, have poor performance and poor interpretation.

Method used

A large language model is used to generate a strategy for selecting branch nodes, embed it into a traditional solver, and automate it to reduce manual energy consumption and provide better performance and interpretability.

Benefits of technology

Automatic branch strategy generation is realized, reducing manual intervention, providing high performance and good interpretability.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119830736A_ABST
    Figure CN119830736A_ABST
Patent Text Reader

Abstract

The invention discloses a branch strategy determination method and device for mixed integer programming, equipment and a storage medium. The method comprises the steps of obtaining an algorithm evolution mode and a branch strategy set; the branch strategy set comprises a first set number of branch strategies used for solving a mixed integer programming problem; randomly selecting a second set number of branch strategies from the branch strategy set as father algorithms; inputting the algorithm evolution mode and the father algorithm into a pre-trained large language model to generate a plurality of new branch strategies; and taking the optimal branch strategy in the branch strategy set and the new branch strategy as a branch strategy for solving the mixed integer programming problem. By utilizing the method, a strategy for selecting branch nodes is generated by utilizing a large language model and is embedded into a traditional solver, so that the mixed integer programming problem is solved, the consumption of labor energy is automatically reduced, and a solving scheme with relatively good performance and relatively good interpretability can be provided.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] Embodiments of the present invention relate to the field of database technology, and in particular to a method, device, equipment and storage medium for determining a branch strategy of mixed integer programming. Background Art

[0002] Mixed integer programming (MIP) is an optimization problem that can be used to solve many practical problems such as supply chain optimization, financial portfolios, and production planning. Traditional solvers use branch-and-bound algorithms and heuristic branching strategies to solve the optimal solution to MIP problems within a limited time. However, the disadvantage of using traditional methods is that they lack specificity for specific problems. At the same time, there are also many machine learning (ML-based) methods to improve branching strategies. However, manually designing heuristic branching strategies is very labor-intensive and requires rich work experience and knowledge. At the same time, the training time is long. The ML-based branching strategy is similar to a black box, with poor interpretability and suboptimal performance. Summary of the invention

[0003] The embodiments of the present invention provide a method, apparatus, device and storage medium for determining a branch strategy for mixed integer programming. A large language model is used to generate a strategy for selecting branch nodes, which is embedded in a traditional solver to solve the mixed integer programming problem. Automation reduces the consumption of manual effort and can provide a solution with better performance and better interpretability.

[0004] In a first aspect, an embodiment of the present invention provides a method for determining a branch strategy of a mixed integer programming, comprising:

[0005] Acquire an algorithm evolution mode and a branch strategy set; the branch strategy set includes: a first set number of branch strategies for solving mixed integer programming problems;

[0006] Randomly selecting a second set number of the branch strategies from the branch strategy set as the parent algorithm;

[0007] Inputting the algorithm evolution method and the father algorithm into a pre-trained large language model to generate multiple new branch strategies;

[0008] The optimal branch strategy among the branch strategy set and the new branch strategy is used as the branch strategy for solving the mixed integer programming problem. In a second aspect, an embodiment of the present invention further provides a branch strategy determination device for mixed integer programming, the device comprising:

[0009] An acquisition module, used to acquire an algorithm evolution mode and a branch strategy set; the branch strategy set includes: a first set number of branch strategies for solving mixed integer programming problems;

[0010] A father algorithm selection module, used for randomly selecting a second set number of the branch strategies from the branch strategy set as the father algorithm;

[0011] A strategy generation module, used for inputting the algorithm evolution mode and the father algorithm into a pre-trained large language model to generate multiple new branch strategies;

[0012] The optimal strategy determination module is used to use the optimal branch strategy among the branch strategy set and the new branch strategy as the branch strategy for solving the mixed integer programming problem.

[0013] In a third aspect, an embodiment of the present disclosure further provides an electronic device, the electronic device comprising:

[0014] one or more processors;

[0015] a storage device for storing one or more programs,

[0016] When the one or more programs are executed by the one or more processors, the one or more processors implement the branch strategy determination method for mixed integer programming provided by the embodiment of the present disclosure.

[0017] In a fourth aspect, the embodiments of the present disclosure further provide a storage medium comprising computer executable instructions, which, when executed by a computer processor, are used to implement the branch strategy determination method for the mixed integer programming provided by the embodiments of the present disclosure.

[0018] In a fifth aspect, an embodiment of the present disclosure further provides a computer program product, which includes a computer program, and when the computer program is executed by a processor, it implements the branch strategy determination method for mixed integer programming provided by an embodiment of the present disclosure.

[0019] The present invention discloses a method, device, equipment and storage medium for determining a branch strategy of mixed integer programming. The method comprises: obtaining an algorithm evolution mode and a branch strategy set; the branch strategy set comprises: a first set number of branch strategies for solving mixed integer programming problems; randomly selecting a second set number of branch strategies from the branch strategy set as a parent algorithm; inputting the algorithm evolution mode and the parent algorithm into a pre-trained large language model to generate multiple new branch strategies; and using the branch strategy set and the best branch strategy among the new branch strategies as the branch strategy for solving mixed integer programming problems. By using this method: using a large language model to generate a strategy for selecting branch nodes, embedding it into a traditional solver, thereby solving mixed integer programming problems, automating and reducing the consumption of manual effort, and providing a solution with better performance and better interpretability. BRIEF DESCRIPTION OF THE DRAWINGS

[0020] The above and other features, advantages and aspects of the embodiments of the present disclosure will become more apparent with reference to the following detailed description in conjunction with the accompanying drawings. Throughout the accompanying drawings, the same or similar reference numerals represent the same or similar elements. It should be understood that the drawings are schematic and the originals and elements are not necessarily drawn to scale.

[0021] Figure 1 A flow chart of a method for determining a branch strategy for mixed integer programming provided by an embodiment of the present disclosure;

[0022] Figure 2 An example diagram of a method for determining a branch strategy for mixed integer programming provided by an embodiment of the present disclosure;

[0023] Figure 3 A schematic diagram of the structure of a branch strategy determination device for mixed integer programming provided by an embodiment of the present disclosure;

[0024] Figure 4 A schematic diagram of the structure of an electronic device provided by an embodiment of the present disclosure. DETAILED DESCRIPTION

[0025] Embodiments of the present disclosure will be described in more detail below with reference to the accompanying drawings. Although certain 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 construed as being limited to the embodiments described herein, which are instead provided for a more thorough and complete understanding of the present disclosure. It should be understood that the drawings and embodiments of the present disclosure are only for exemplary purposes and are not intended to limit the scope of protection of the present disclosure.

[0026] It should be understood that the various steps described in the method embodiments of the present disclosure may be performed in different orders and / or in parallel. In addition, the method embodiments may include additional steps and / or omit the steps shown. The scope of the present disclosure is not limited in this respect.

[0027] The term "including" and its variations used herein are open inclusions, i.e., "including but not limited to". The term "based on" means "based at least in part on". The term "one embodiment" means "at least one embodiment"; the term "another embodiment" means "at least one additional embodiment"; the term "some embodiments" means "at least some embodiments". The relevant definitions of other terms will be given in the following description.

[0028] It should be noted that the concepts such as "first" and "second" mentioned in the present disclosure are only used to distinguish different devices, modules or units, and are not used to limit the order or interdependence of the functions performed by these devices, modules or units.

[0029] It should be noted that the modifications of "one" and "plurality" mentioned in the present disclosure are illustrative rather than restrictive, and those skilled in the art should understand that unless otherwise clearly indicated in the context, it should be understood as "one or more".

[0030] The names of the messages or information exchanged between multiple devices in the embodiments of the present disclosure are only used for illustrative purposes and are not used to limit the scope of these messages or information.

[0031] It is understandable that before using the technical solutions disclosed in the embodiments of the present disclosure, the types, scope of use, usage scenarios, etc. of the personal information involved in the present disclosure should be informed to the user and the user's authorization should be obtained in an appropriate manner in accordance with relevant laws and regulations.

[0032] For example, in response to receiving an active request from a user, a prompt message is sent to the user to clearly prompt the user that the operation requested to be performed will require obtaining and using the user's personal information. Thus, the user can autonomously choose whether to provide personal information to software or hardware such as an electronic device, application, server, or storage medium that performs the operation of the technical solution of the present disclosure according to the prompt message.

[0033] As an optional but non-limiting implementation, in response to receiving an active request from the user, the prompt information may be sent to the user in the form of a pop-up window, in which the prompt information may be presented in text form. In addition, the pop-up window may also carry a selection control for the user to choose "agree" or "disagree" to provide personal information to the electronic device.

[0034] It is understandable that the above notification and the process of obtaining user authorization are merely illustrative and do not constitute a limitation on the implementation of the present disclosure. Other methods that meet the relevant laws and regulations may also be applied to the implementation of the present disclosure.

[0035] It is understandable that the data involved in this technical solution (including but not limited to the data itself, the acquisition or use of the data) shall comply with the requirements of relevant laws, regulations and relevant provisions.

[0036] Embodiment 1

[0037] Figure 1A flow chart of a method for determining a branch strategy for mixed integer programming provided in an embodiment of the present disclosure. The embodiment of the present disclosure is suitable for providing a solution to the problem that the shortcomings of traditional methods are the lack of targeting for specific problems and the machine learning-based methods are labor-intensive and require a long training time for branch strategies. The method can be executed by a device for determining a branch strategy for mixed integer programming, which can be implemented in the form of software and / or hardware, and optionally, by an electronic device, which can be a mobile terminal, a PC, a server, etc.

[0038] like Figure 1 As shown, a method for determining a branch strategy of a mixed integer programming provided by an embodiment of the present disclosure may specifically include the following steps:

[0039] S110, obtaining an algorithm evolution mode and a branch strategy set.

[0040] The branch strategy set includes: a first set number of branch strategies for solving mixed integer programming problems.

[0041] In this embodiment, the algorithm evolution method can be an evolution method used for population reproduction. The branch strategy set can be a set of branch strategies for solving mixed integer programming problems. The first set number can be set according to the situation and is not specifically limited in this embodiment.

[0042] Among them, the algorithm evolution method includes at least one of the following: generating offspring algorithms that are different from the father algorithm; generating offspring algorithms that are inspired by the father algorithm but different from the father algorithm; generating offspring algorithms that have different algorithms from the father algorithm; generating offspring algorithms that have the same ideas as the father algorithm but different parameters.

[0043] Based on the above embodiment, the following steps are included before obtaining the branch strategy set: using a large language model to generate an initial branch strategy set; the initial branch strategy set includes a third set number of branch strategies for solving mixed integer programming problems; and selecting a first set number of branch strategies for solving mixed integer programming problems from the initial branch strategy set as the branch strategy set.

[0044] In this embodiment, the large language model may be a model currently in use, such as GPT-4. The third set number may be set according to circumstances and is not specifically limited in this embodiment. The third set number is greater than the first set number.

[0045] Specifically, a third set number of branch strategies for solving the mixed integer programming problem is generated using the large language model, and the first set number of optimal branch strategies for solving the mixed integer programming problem are selected from the third set number of branch strategies as the branch strategy set.

[0046] For example, Figure 2 This is an example diagram of a method for determining a branch strategy of a mixed integer programming provided by an embodiment of the present disclosure, randomly generating t populations, each population having N initial branch strategies, that is, generating t*N algorithms. N optimal algorithms are selected from these algorithms to form an initial population.

[0047] S120 . Randomly select a second set number of branch strategies from the branch strategy set as parent algorithms.

[0048] This step is used to randomly select a second set number of branch strategies from the branch strategy set as the parent algorithm.

[0049] S130, inputting the algorithm evolution method and the father algorithm into the pre-trained large language model to generate multiple new branch strategies.

[0050] Specifically, a prompt word for solving a mixed integer programming problem in an algorithm evolutionary manner is generated, a natural language description and a corresponding code of each parent algorithm are determined, and the prompt word, the natural language description and the corresponding code are input into a pre-trained large language model to generate multiple new branch strategies.

[0051] Based on the above embodiment, inputting the algorithm evolution mode and the father algorithm into the pre-trained large language model to generate multiple new branch strategies includes the following steps:

[0052] a1) Generate algorithmic evolutionary approach for solving mixed integer programming problems.

[0053] b1) Determine the natural language description of each father algorithm and the corresponding code.

[0054] c1) Input the prompt words, natural language descriptions and corresponding codes into the pre-trained large language model to generate multiple new branch strategies.

[0055] In this embodiment, the prompt word may be a description of an evolutionary approach for solving a mixed integer programming problem.

[0056] On the basis of this embodiment, after a plurality of new branch strategies are generated, it is tested whether the algorithm code of the new branch strategy can run smoothly. If it cannot run smoothly, the new branch strategy is deleted.

[0057] S140. Using the optimal branch strategy among the branch strategy set and the new branch strategy as the branch strategy for solving the mixed integer programming problem.

[0058] Specifically, by embedding each branch strategy into the solver respectively, the running time of the test data set is tested, and the branch strategy with short running time is used as the branch strategy for solving the mixed integer programming problem.

[0059] Based on the above embodiment, using the best branch strategy in the branch strategy set and the new branch strategy as the branch strategy for solving the mixed integer programming problem includes the following steps:

[0060] a2) obtaining an evaluation data set and a solver for solving a mixed integer programming problem; the evaluation data set includes multiple types of mixed integer programming problems.

[0061] b2) Embed the branch strategies in each branch strategy set and the new branch strategy into the solver in sequence.

[0062] c2) Determine the running time of each embedding branch algorithm solver to complete the evaluation data set.

[0063] d2) The branch strategy with the shortest running time is taken as the optimal branch strategy.

[0064] In this embodiment, a branch strategy evaluation method is defined as embedding its code into the SCIP open source solver to solve a batch of mixed integer programming problems. The lower the average time required, the better the algorithm. The evaluation data set can be three different mixed integer programming problem data sets: set cover, maximum independent set, and combinatorial auction.

[0065] On the basis of the above embodiment, after the algorithm evolution mode and the father algorithm are input into the pre-trained large language model to generate multiple new branch strategies, the following steps are also included:

[0066] a3) Get the current number of iterations and the preset number of iterations.

[0067] b3) Selecting the first set number of optimal branch strategies from the branch strategy set and the new branch strategy as the new branch strategy set, and updating the current number of iterations.

[0068] c3) If the current number of iterations is less than the preset number of iterations, return to the step of randomly selecting a second set number of branch strategies from the branch strategy set.

[0069] d3) If the current number of iterations is equal to the preset number of iterations, the iteration is terminated.

[0070] For example, Figure 2 As shown, the branch strategy set and the new branch strategy select the first set of optimal branch strategies as the new branch strategy set, and update the current number of iterations. Return to the step of randomly selecting the second set of branch strategies from the branch strategy set for iteration until the number of iterations reaches the upper limit.

[0071] The present invention discloses a method for determining a branch strategy for mixed integer programming, the method comprising: obtaining an algorithm evolution mode and a branch strategy set; the branch strategy set comprises: a first set number of branch strategies for solving mixed integer programming problems; randomly selecting a second set number of branch strategies from the branch strategy set as a parent algorithm; inputting the algorithm evolution mode and the parent algorithm into a pre-trained large language model to generate multiple new branch strategies; and using the branch strategy set and the best branch strategy among the new branch strategies as the branch strategy for solving the mixed integer programming problem. Using this method: using a large language model to generate a strategy for selecting branch nodes, embedding it into a traditional solver, thereby solving the mixed integer programming problem, automating the reduction of manual effort, and providing a solution with better performance and better interpretability.

[0072] Figure 3 The present invention also provides a branch strategy determination method for mixed integer programming. Figure 3 As shown, an acquisition module 210, a father algorithm selection module 220, a strategy generation module 230 and an optimal strategy determination module 240.

[0073] The acquisition module 210 is used to acquire an algorithm evolution mode and a branch strategy set; the branch strategy set includes: a first set number of branch strategies for solving mixed integer programming problems;

[0074] A father algorithm selection module 220, configured to randomly select a second set number of the branch strategies from the branch strategy set as a father algorithm;

[0075] A strategy generation module 230, for inputting the algorithm evolution mode and the father algorithm into a pre-trained large language model to generate multiple new branch strategies;

[0076] The optimal strategy determination module 240 is used to use the optimal branch strategy among the branch strategy set and the new branch strategy as the branch strategy for solving the mixed integer programming problem.

[0077] The technical solution provided by the embodiment of the present disclosure utilizes this method: based on the original column storage data, a new fused column is introduced, in which multiple columns of the data table are merged together. When performing multi-column queries, data can be preferably obtained from this fused column, thereby improving the access performance of querying multiple columns in the column storage mode.

[0078] Furthermore, the policy generation module 230 may be used to:

[0079] Generating a prompt word for solving the mixed integer programming problem in the algorithm evolution mode;

[0080] Determine the natural language description and corresponding code of each of the father algorithms;

[0081] The prompt word, the natural language description and the corresponding code are input into a pre-trained large language model to generate multiple new branch strategies.

[0082] Furthermore, the optimal strategy determination module 240 may be used to:

[0083] Acquire an evaluation data set and a solver for solving the mixed integer programming problem; the evaluation data set includes multiple types of the mixed integer programming problem;

[0084] Embedding the branch strategies in each of the branch strategy sets and the new branch strategy into the solver in sequence;

[0085] Determining the running time of each solver of the embedded branching algorithm to complete the evaluation data set;

[0086] The branch strategy with the shortest running time is used as the optimal branch strategy.

[0087] Furthermore, the acquisition module 210 may be used to:

[0088] The algorithm evolution method includes at least one of the following:

[0089] Generate offspring algorithms that are different from the father algorithm; generate offspring algorithms that are inspired by the father algorithm but are different from the father algorithm; generate offspring algorithms that have different algorithms from the father algorithm; generate offspring algorithms that have the same ideas as the father algorithm but different parameters.

[0090] Furthermore, the device can also be used for:

[0091] Before obtaining the branch strategy set, the method further includes:

[0092] Generate an initial branch strategy set using the large language model; the initial branch strategy set includes a third set number of branch strategies for solving the mixed integer programming problem;

[0093] The first set number of branch strategies for solving the mixed integer programming problem is selected from the initial branch strategy set as the branch strategy set.

[0094] Furthermore, the device can also be used for:

[0095] After the algorithm evolution method and the father algorithm are input into the pre-trained large language model to generate multiple new branch strategies, the method further includes:

[0096] Get the current number of iterations and the preset number of iterations;

[0097] Selecting the first set number of optimal branch strategies from the branch strategy set and the new branch strategy as the new branch strategy set, and updating the current number of iterations;

[0098] If the current number of iterations is less than the preset number of iterations, returning to the step of randomly selecting a second set number of branch strategies from the branch strategy set;

[0099] If the current number of iterations is equal to the preset number of iterations, the iteration ends.

[0100] The above device can execute the methods provided by all the above embodiments of the present invention, and has the corresponding functional modules and beneficial effects of executing the above methods. For technical details not described in detail in this embodiment, please refer to the methods provided by all the above embodiments of the present invention.

[0101] Figure 4 A schematic diagram of the structure of an electronic device 10 that can be used to implement an embodiment of the present invention is given. The electronic device is intended to represent various forms of digital computers, such as laptop computers, desktop computers, workstations, 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 connections and relationships, and their functions are merely examples and are not intended to limit the implementation of the present invention described and / or required herein.

[0102] like Figure 4 As shown, the electronic device 10 includes at least one processor 11, and a memory connected to the at least one processor 11, such as a read-only memory (ROM) 12, a random access memory (RAM) 13, etc., wherein the memory stores a computer program that can be executed by at least one processor, and the processor 11 can perform various appropriate actions and processes according to the computer program stored in the read-only memory (ROM) 12 or the computer program loaded from the storage unit 18 to the random access memory (RAM) 13. In the RAM 13, various programs and data required for the operation of the electronic device 10 can also be stored. The processor 11, the ROM 12, and the RAM 13 are connected to each other through a bus 14. An input / output (I / O) interface 15 is also connected to the bus 14.

[0103] A number of components in the electronic device 10 are connected to the I / O interface 15, including: an input unit 16, such as a keyboard, a mouse, etc.; an output unit 17, such as various types of displays, speakers, etc.; a storage unit 18, such as a disk, an optical disk, etc.; and a communication unit 19, such as a network card, a modem, a wireless communication transceiver, etc. The communication unit 19 allows the electronic device 10 to exchange information / data with other devices through a computer network such as the Internet and / or various telecommunication networks.

[0104] The processor 11 may be a variety of general and / or special processing components with processing and computing capabilities. Some examples of the processor 11 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various dedicated artificial intelligence (AI) computing chips, various processors running machine learning model algorithms, digital signal processors (DSPs), and any appropriate processors, controllers, microcontrollers, etc. The processor 11 executes the various methods and processes described above, such as a branch strategy determination method for mixed integer programming.

[0105] In some embodiments, the branch strategy determination method for mixed integer programming may be implemented as a computer program, which is tangibly contained in a computer-readable storage medium, such as a storage unit 18. In some embodiments, part or all of the computer program may be loaded and / or installed on the electronic device 10 via the ROM 12 and / or the communication unit 19. When the computer program is loaded into the RAM 13 and executed by the processor 11, one or more steps of the branch strategy determination method for mixed integer programming described above may be performed. Alternatively, in other embodiments, the processor 11 may be configured to execute the branch strategy determination method for mixed integer programming in any other appropriate manner (e.g., by means of firmware).

[0106] Various implementations of the systems and techniques described above 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), systems on chips (SOCs), load programmable logic devices (CPLDs), computer hardware, firmware, software, and / or combinations thereof. These various implementations can include: being implemented in one or more computer programs that can be executed and / or interpreted on a programmable system including 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.

[0107] 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, so that when the computer program is executed by the processor, the functions / operations specified in the flow chart and / or block diagram are implemented. The computer program may be executed entirely on the machine, partially on the machine, partially on the machine and partially on a remote machine as a stand-alone software package, or entirely on a remote machine or server.

[0108] In the context of the present invention, a computer-readable storage medium may be a tangible medium that may contain or store a computer program for use by or in combination with an instruction execution system, device or equipment. A computer-readable storage medium may include, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, devices or equipment, or any suitable combination of the foregoing. Alternatively, a computer-readable storage medium may be a machine-readable signal medium. A more specific example of a machine-readable storage medium may include an electrical connection based on one or more lines, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.

[0109] To provide interaction with a user, the systems and techniques described herein may 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 a pointing device (e.g., a mouse or trackball) through which the user can provide input to the electronic device. Other types of devices may also be used to provide interaction with the user; for example, the feedback provided to the user may be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user may be received in any form (including acoustic input, voice input, or tactile input).

[0110] The systems and techniques described herein may be implemented in a computing system that includes backend 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 frontend components (e.g., a user computer with a graphical user interface or a 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 backend components, middleware components, or frontend components. The components of the system may 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.

[0111] A computing system may include a client and a server. The client and the server are generally remote from each other and usually interact through a communication network. The client and server relationship is generated by computer programs running on the corresponding computers and having a client-server relationship with each other. The server may be a cloud server, also known as a cloud computing server or cloud host, which is a host product in the cloud computing service system to solve the defects of difficult management and weak business scalability in traditional physical hosts and VPS services.

[0112] It should be understood that the various forms of processes shown above can be used to reorder, add or delete steps. For example, the steps described in the present invention can be executed in parallel, sequentially or in different orders, as long as the desired results of the technical solution of the present invention can be achieved, and this document does not limit this.

[0113] The above specific implementations do not constitute a limitation on the protection scope of the present invention. It should be understood by those skilled in the art that various modifications, combinations, sub-combinations and substitutions can be made according to design requirements and other factors. Any modification, equivalent substitution and improvement made within the spirit and principle of the present invention should be included in the protection scope of the present invention.

Claims

1. A method for determining a branching strategy for mixed integer programming, characterized in that: include: Obtain algorithm evolution mode and branch strategy set; The branch strategy set includes: a first set number of branch strategies for solving mixed integer programming problems; Randomly selecting a second set number of the branch strategies from the branch strategy set as the parent algorithm; Inputting the algorithm evolution method and the father algorithm into a pre-trained large language model to generate multiple new branch strategies; The optimal branch strategy among the branch strategy set and the new branch strategy is used as the branch strategy for solving the mixed integer programming problem.

2. The method according to claim 1, characterized in that Before obtaining the branch strategy set, the method further includes: Generate an initial branch strategy set using the large language model; the initial branch strategy set includes a third set number of branch strategies for solving the mixed integer programming problem; The first set number of branch strategies for solving the mixed integer programming problem is selected from the initial branch strategy set as the branch strategy set.

3. The method according to claim 1, characterized in that The algorithm evolution method and the father algorithm are input into the pre-trained large language model to generate multiple new branch strategies, including: Generating a prompt word for solving the mixed integer programming problem in the algorithm evolution mode; Determine the natural language description and corresponding code of each of the father algorithms; The prompt word, the natural language description and the corresponding code are input into a pre-trained large language model to generate multiple new branch strategies.

4. The method according to claim 1, characterized in that The step of using the optimal branch strategy among the branch strategy set and the new branch strategy as the branch strategy for solving the mixed integer programming problem comprises: Acquire an evaluation data set and a solver for solving the mixed integer programming problem; the evaluation data set includes multiple types of the mixed integer programming problems; Embedding the branch strategies in each of the branch strategy sets and the new branch strategy into the solver in sequence; Determining the running time of each solver of the embedded branching algorithm to complete the evaluation data set; The branch strategy with the shortest running time is used as the optimal branch strategy.

5. The method according to claim 1, characterized in that After the algorithm evolution method and the father algorithm are input into the pre-trained large language model to generate multiple new branch strategies, the method further includes: Get the current number of iterations and the preset number of iterations; Selecting the first set number of optimal branch strategies from the branch strategy set and the new branch strategy as the new branch strategy set, and updating the current number of iterations; If the current number of iterations is less than the preset number of iterations, returning to the step of randomly selecting a second set number of branch strategies from the branch strategy set; If the current number of iterations is equal to the preset number of iterations, the iteration is terminated.

6. The method according to claim 1, characterized in that The algorithm evolution method includes at least one of the following: Generate offspring algorithms that are different from the father algorithm; generate offspring algorithms that are inspired by the father algorithm but are different from the father algorithm; generate offspring algorithms that have different algorithms from the father algorithm; generate offspring algorithms that have the same ideas as the father algorithm but different parameters.

7. A branch strategy determination device for mixed integer programming, characterized in that: include: The acquisition module is used to obtain the algorithm evolution mode and branch strategy set; The branch strategy set includes: a first set number of branch strategies for solving mixed integer programming problems; A father algorithm selection module, used for randomly selecting a second set number of the branch strategies from the branch strategy set as the father algorithm; A strategy generation module, used for inputting the algorithm evolution mode and the father algorithm into a pre-trained large language model to generate multiple new branch strategies; The optimal strategy determination module is used to use the optimal branch strategy among the branch strategy set and the new branch strategy as the branch strategy for solving the mixed integer programming problem.

8. 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, and the computer program is executed by the at least one processor so that the at least one processor can perform the branch strategy determination method for mixed integer programming according to any one of claims 1 to 6.

9. 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 branch strategy determination method for mixed integer programming according to any one of claims 1 to 6 when executed.

10. A computer program product, characterized in that The computer program product comprises a computer program, and when the computer program is executed by a processor, the computer program implements the branch strategy determination method for mixed integer programming according to any one of claims 1 to 6.