WO2021068350A1 - Resource-constrained project scheduling method and apparatus, and computer device and storage medium - Google Patents

Resource-constrained project scheduling method and apparatus, and computer device and storage medium Download PDF

Info

Publication number
WO2021068350A1
WO2021068350A1 PCT/CN2019/118398 CN2019118398W WO2021068350A1 WO 2021068350 A1 WO2021068350 A1 WO 2021068350A1 CN 2019118398 W CN2019118398 W CN 2019118398W WO 2021068350 A1 WO2021068350 A1 WO 2021068350A1
Authority
WO
WIPO (PCT)
Prior art keywords
sequence number
information set
process information
initial
current
Prior art date
Application number
PCT/CN2019/118398
Other languages
French (fr)
Chinese (zh)
Inventor
杜艳艳
Original Assignee
平安科技(深圳)有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 平安科技(深圳)有限公司 filed Critical 平安科技(深圳)有限公司
Publication of WO2021068350A1 publication Critical patent/WO2021068350A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/04Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/10Requirements analysis; Specification techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/004Artificial life, i.e. computing arrangements simulating life
    • G06N3/006Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0631Resource planning, allocation, distributing or scheduling for enterprises or organisations
    • G06Q10/06313Resource planning in a project environment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0631Resource planning, allocation, distributing or scheduling for enterprises or organisations
    • G06Q10/06316Sequencing of tasks or work
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/30Computing systems specially adapted for manufacturing

Definitions

  • This application relates to the field of data processing technology, and in particular to a resource-constrained project scheduling method, device, computer equipment and storage medium.
  • Resource-constrained project scheduling problem requires reasonable allocation of limited resources on the premise of meeting process timing constraints and resource constraints, and appropriate arrangements for the start and end time of each process, so that the project's construction period can reach Optimal.
  • RCPSP Resource-constrained project scheduling problem
  • NP-hard problem represents a non-deterministic polynomial problem, NP-hard problem is such a problem, as long as one of the problems can be Solved in P time, then all NP problems can be solved in P time);
  • the embodiments of the application provide a resource-constrained project scheduling method, device, computer equipment, and storage medium, aiming to solve the problem of non-deterministic polynomials in the minimum construction period prediction of IT projects in the prior art, and the minimum estimated The problem of inaccurate duration.
  • an embodiment of the present application provides a resource-constrained project scheduling method, which includes:
  • each process information includes process name, process number, process time required; each process in the process information set is assigned an initial priority value to obtain the initial weight process information set; wherein, each initial priority The value range is [0,1]; the optimal bat position of each process in the initial weighted process information set is obtained through the bat algorithm, and the initial weighted process information set is updated to obtain the current weighted process information set; The current weighted process information set is decoded to obtain the minimum project duration corresponding to the IT development project file to be predicted; and the minimum project duration corresponding to the IT development project file to be predicted is sent to the user terminal.
  • an embodiment of the present application provides a resource-constrained project scheduling device, which includes:
  • the demand data acquisition unit is used to receive the IT development project file to be predicted uploaded by the user terminal, and to obtain the demand analysis data of the IT development project file to be predicted;
  • the process information acquisition unit is used to set the demand analysis according to the preset keywords
  • the corresponding process information is extracted from the data to form a process information set; among them, each process information includes process name, process serial number, and process time required; an initial weight set acquisition unit for combining each process in the process information set Assign an initial priority value to obtain the initial weighted process information set; among them, the value range of each initial priority value is [0,1];
  • the current weight set acquisition unit is used to obtain the initial weighted process information through the bat algorithm
  • the optimal bat position of each process in the set is updated to obtain the current weighted process information set by updating the initial weighted process information set;
  • the minimum project duration acquisition unit is used to decode the current weighted process information set through serial scheduling to obtain The minimum project duration corresponding to the IT development project document to be predicted; and the duration information
  • an embodiment of the present application provides a computer device, which includes a memory, a processor, and a computer program stored on the memory and running on the processor, and the processor executes the computer
  • the program implements the resource-constrained project scheduling method described in the first aspect.
  • the embodiments of the present application also provide a computer-readable storage medium, wherein the computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the processor executes the above-mentioned first On the one hand, the resource-constrained project scheduling method.
  • FIG. 1 is a schematic diagram of an application scenario of a resource-constrained project scheduling method provided by an embodiment of the application
  • FIG. 2 is a schematic flowchart of a resource-constrained project scheduling method provided by an embodiment of the application
  • Fig. 3 is a schematic diagram of a sub-flow of a resource-constrained project scheduling method provided by an embodiment of the application;
  • FIG. 4 is a schematic diagram of another sub-flow of the resource-constrained project scheduling method provided by an embodiment of the application.
  • FIG. 5 is a schematic diagram of another sub-flow of the resource-constrained project scheduling method provided by an embodiment of the application.
  • FIG. 6 is a schematic block diagram of a resource-constrained project scheduling device provided by an embodiment of the application.
  • FIG. 7 is a schematic block diagram of subunits of a resource-constrained project scheduling device provided by an embodiment of the application.
  • FIG. 8 is a schematic block diagram of another subunit of the resource-constrained project scheduling apparatus provided by an embodiment of the application.
  • FIG. 9 is a schematic block diagram of another subunit of the resource-constrained project scheduling device provided by an embodiment of the application.
  • FIG. 10 is a schematic block diagram of a computer device provided by an embodiment of the application.
  • Figure 1 is a schematic diagram of an application scenario of a resource-constrained project scheduling method provided by an embodiment of this application
  • Figure 2 is a schematic flow chart of a resource-constrained project scheduling method provided by an embodiment of this application.
  • the project-limited scheduling method is applied to the server, and the method is executed by application software installed in the server.
  • the method includes steps S110 to S160.
  • the software development process is the general process of software design ideas and methods, including the software requirements analysis, the design of software functions and implementation algorithms and methods, the software's overall structure design and module design, coding and debugging, program joint debugging and testing, and A series of operations such as writing and submitting programs to meet customer needs and solve customer problems. If there is a higher demand, the software needs to be maintained, upgraded, and scrapped.
  • the IT development project document is obtained, and the first part of the general IT development project document is the demand analysis data. By locating the page number range corresponding to the first-level title name (needs analysis) of the IT development project file, you can obtain the demand analysis data.
  • the user can use the user terminal (such as smart phone, tablet computer, etc.) to upload the IT development project file to be predicted.
  • the server receives the IT development project file to be predicted, it can obtain the demand analysis data by locating the page range corresponding to the first-level title name (ie, demand analysis) of the IT development project file to be predicted, and then it can be predicted
  • the IT development project file is a data basis for forecasting the minimum project duration.
  • each process information includes a process name, a process serial number, and a process required time.
  • the server when the server receives the IT development project file to be predicted uploaded by the client, and extracts the demand analysis data according to the IT development project file to be predicted, the corresponding process information can be extracted from the demand analysis data, To form a collection of process information.
  • the corresponding process information can be extracted from the demand analysis data according to a preset keyword set, and after each process information is known, the process information set can be combined to obtain the process information set.
  • step S120 includes:
  • S121 retrieve and locate target data content that includes the same key as the keyword set in the demand analysis data; S122. Obtain process information included in the target data content to form a process information set.
  • the keyword set includes product characteristics, product structure, and status descriptions.
  • the key content can be extracted according to the requirement analysis document.
  • the preset keyword set includes: product characteristics, product structure, status description and other keywords.
  • the keyword set of product features specifically includes function point 1, function point 2, ..., function point N.
  • the corresponding process information is extracted from the demand analysis data to form the process information set, that is, the key processes of specific positioning function point 1, function point 2,..., function point N are in the demand analysis data And extract the corresponding process name and time required for the process (generally, the process name and process time required for the process will be listed in the general demand analysis data. As long as you locate the heading such as function point 1, you can quickly get the following The name of the process and the time required for the process), and the process number is numbered according to the order of the extracted function points (for example, the process number of the function point 1 is the default process number 1).
  • the process number J of the process information set is the dimension of the space (using the conventional method of the bat algorithm)
  • the priority values of the J processes correspond to the J-dimensional coordinates , That is, the value of each dimension represents the priority value of a process.
  • processes with higher priority values are prioritized.
  • a virtual bat is a point in the J-dimensional space, and its position can be expressed as X i (x i1 ,x i2 ,...,x ij ), where 0 ⁇ x ij ⁇ 1 corresponds to the priority value of the jth process .
  • the initial bat position is randomly generated, and the value of each dimension is a random number on [0, 1].
  • S140 Obtain the optimal bat position of each process in the initial weighted process information set by the bat algorithm, so as to update the initial weighted process information set to obtain the current weighted process information set.
  • the bat algorithm used is a meta-heuristic optimization algorithm that uses different pulse emission rates and loudness based on the echolocation behavior of microbats.
  • the idealization of the echolocation of bats can be summarized as follows: each virtual bat has a random flying speed v i at the position x i (the solution of the problem), and the bats have different frequencies or wavelengths, loudness Ai, and pulse rate r.
  • the bat hunts and finds its prey it changes the frequency, pulse volume and pulse emission rate, and selects the best solution until the target stops or the conditions are met. This is essentially the use of tuning technology to control the dynamic behavior of the bat colony, balance and adjust the relevant parameters of the algorithm to obtain the optimal bat algorithm.
  • step S140 includes:
  • S141 Use the initial priority value of each point in the initial weight process information set as the initial bat position; S142. Obtain the optimal bat position according to the bat algorithm, and use the optimal bat position to determine the initial value of each point in the initial weight process information set. The priority value is updated to the current priority value to obtain the current weighted process information set.
  • each initial bat position As the input of the above equation 1.2 and combine equation 1.1 and equation 1.3 to iterate the equation to obtain the initial weight process information set
  • the value corresponding to the optimal bat position of each point is used as the current priority value
  • the initial priority value of each point in the initial weight process information set is updated to the current priority value to obtain the current weight Process information collection. Since the optimal current priority value of each process is obtained, the construction period will be further shortened when the processes are rearranged according to the new current priority value.
  • step S142 includes:
  • the initial bat position corresponding to each point in the initial weighting process information set is taken as the initial position of each bat in the bat algorithm, and the maximum pulse volume, maximum pulse rate, search pulse frequency range, volume attenuation coefficient, and search frequency are set according to the initialization.
  • the enhancement coefficient, search accuracy and the initial position of each bat are iterated in the bat algorithm until the optimal bat position corresponding to each point is obtained.
  • the Bat algorithm includes the following steps:
  • Population initialization that is, a set of initial solutions distributed by bats in a J-dimensional space in a random manner, maximum pulse volume A 0 , maximum pulse rate R 0 , search pulse frequency range [f min , f max ], volume attenuation coefficient ⁇ , the enhancement coefficient ⁇ of the search frequency, the search accuracy ⁇ .
  • Equation 1.1-Equation 1.3 iterate; in Equation 1.1-Equation 1.3, ⁇ belongs to [0,1] is a uniformly distributed random number; f i is the search pulse frequency of bat i, f i ⁇ [f min , f max ]; with Respectively represent the speed of bat i at t and t+1; with Respectively represent the position of bat i at t and t+1; x* represents the optimal bat position of each bat.
  • the current priority value of the corresponding process can be obtained. Moreover, the current priority value of the process obtained by the above method can arrange the sequence and duration of each process more rationally.
  • a serial scheduling scheme can be used to control the bat Decoding, and then get a feasible scheduling plan.
  • step S150 includes:
  • S151 Perform an initialization operation on the resource list; wherein, initialize the scheduling sequence number to 1;
  • S152 Extract the current process sequence number from the current weighted process information set, and assign the extracted current process sequence number to the scheduling sequence number;
  • S153 according to the scheduling sequence number Obtain the previous process corresponding to the scheduling sequence number and the latest end process time corresponding to the previous process from the demand analysis data as the earliest start time corresponding to the scheduling sequence number;
  • S154 determine the current process location corresponding to the scheduling sequence number Whether the required resource reaches the resource upper limit threshold of the resource list; S155.
  • step S157 Determine whether the scheduling sequence number is less than the total number of processes in the demand analysis data; if the scheduling sequence number is less than the total number of processes in the demand analysis data, perform step S157; if the scheduling sequence number is greater than or equal to the aforementioned For the total number of processes in the demand analysis data, perform step S158; S157, increment the scheduling sequence number by 1 to obtain the updated scheduling sequence number, and return to step S153; S158, according to the end time corresponding to the current scheduling sequence number, and according to the scheduling sequence number as The difference between the earliest start time corresponding to 1 is regarded as the minimum project duration.
  • the method further includes:
  • step S159 If the resource required by the current process corresponding to the scheduling sequence number does not reach the resource upper limit threshold of the resource list, postpone the earliest starting time corresponding to the scheduling sequence number by one day to obtain the updated starting time corresponding to the scheduling sequence number, and update according to the scheduling sequence number After the start time, the resources required by the current process are updated to obtain the updated resources required by the current process, and step S155 is returned to.
  • the optimization goal of the classic resource-constrained project scheduling problem is to minimize the project duration, which is calculated based on resource constraints and the generated process scheduling sequence.
  • the specific solution process is as follows:
  • the minimum project duration needs to be sent to the user terminal for timely notification.
  • This method realizes the improvement of the accuracy of the minimum construction period prediction of IT projects, and effectively avoids the non-deterministic polynomial problem in the minimum construction period prediction of IT projects.
  • An embodiment of the present application also provides a resource-constrained project scheduling device, which is configured to execute any embodiment of the foregoing resource-constrained project scheduling method.
  • FIG. 6, is a schematic block diagram of a resource-constrained project scheduling apparatus provided by an embodiment of the present application.
  • the resource-constrained project scheduling apparatus 100 can be configured in a server.
  • the resource-constrained project scheduling device 100 includes a demand data acquisition unit 110, a process information acquisition unit 120, an initial weight set acquisition unit 130, a current weight set acquisition unit 140, a minimum project duration acquisition unit 150, and a construction period information transmission unit. Unit 160.
  • the demand data obtaining unit 110 is configured to receive the IT development project file to be predicted uploaded by the user terminal, and obtain the demand analysis data of the IT development project file to be predicted.
  • the process information acquisition unit 120 is configured to extract corresponding process information from the demand analysis data according to a preset keyword set to form a process information set; wherein, each process information includes process name, process serial number, and process requirements. time.
  • the process information acquiring unit 120 includes:
  • the target data content obtaining unit 121 is configured to retrieve and locate target data content that includes the same key as the keyword set in the demand analysis data;
  • the process combination unit 122 is used to obtain process information included in the target data content to form a process information set.
  • the initial weight set acquisition unit 130 is configured to assign an initial priority value to each process in the process information set to obtain an initial weighted process information set; wherein, the value range of each initial priority value is [0, 1].
  • the current weight set obtaining unit 140 is configured to obtain the optimal bat position of each process in the initial weight process information set through the bat algorithm, so as to update the initial weight process information set to obtain the current weight process information set.
  • the current weight set obtaining unit 140 includes:
  • the initial bat position acquiring unit 141 is configured to use the initial priority value of each point in the initial weighting process information set as the initial bat position;
  • the iterative unit 142 is configured to obtain the optimal bat position according to the bat algorithm, and update the initial priority value of each point in the initial weighted procedure information set to the current priority value through the optimal bat position to obtain the current weighted procedure information set .
  • the iteration unit 142 is further configured to:
  • the initial bat position corresponding to each point in the initial weighting process information set is taken as the initial position of each bat in the bat algorithm, and the maximum pulse volume, maximum pulse rate, search pulse frequency range, volume attenuation coefficient, and search frequency are set according to the initialization.
  • the enhancement coefficient, search accuracy and the initial position of each bat are iterated in the bat algorithm until the optimal bat position corresponding to each point is obtained.
  • the minimum project duration obtaining unit 150 is configured to decode the current weighted process information set through serial scheduling to obtain the minimum project duration corresponding to the IT development project file to be predicted.
  • the minimum project duration obtaining unit 150 includes:
  • the initialization unit 151 is used to initialize the resource list; wherein, the scheduling sequence number is initialized and assigned to 1;
  • the scheduling sequence number assignment unit 152 is configured to extract the current process sequence number in the current weighted process information set, and assign the extracted current process sequence number to the scheduling sequence number;
  • the start time obtaining unit 153 is configured to obtain, from the demand analysis data according to the scheduling sequence number, the preceding process corresponding to the scheduling sequence number, and the latest end process time corresponding to the preceding process, as the earliest start corresponding to the scheduling sequence number time;
  • the first judging unit 154 is configured to judge whether the resource required by the current process corresponding to the scheduling sequence number reaches the resource upper limit threshold of the resource list;
  • the end time obtaining unit 155 is configured to calculate and obtain the end corresponding to the scheduling sequence number based on the time required for the current process and the earliest start time corresponding to the scheduling sequence number if the resources required by the current process corresponding to the scheduling sequence number reach the resource upper limit threshold of the resource list time;
  • the second judging unit 156 is used to judge whether the scheduling sequence number is less than the total number of processes in the demand analysis data; if the scheduling sequence number is less than the total number of processes in the demand analysis data, the scheduling sequence number is automatically incremented by 1 to obtain the updated scheduling Sequence number step; if the scheduling sequence number is greater than or equal to the total number of processes in the demand analysis data, the difference between the end time corresponding to the current scheduling sequence number and the earliest start time corresponding to the scheduling sequence number 1 is used as the minimum project duration step;
  • the dispatch sequence number auto-increment unit 157 is used to automatically increment the dispatch sequence number by 1 to obtain the updated dispatch sequence number, and return to execute the preceding procedure corresponding to the dispatch sequence number obtained from the demand analysis data according to the dispatch sequence number, and corresponding to the preceding procedure
  • the latest end process time of is used as the step of the earliest start time corresponding to the scheduling sequence number;
  • the minimum project duration calculation unit 158 is configured to use the difference between the end time corresponding to the current scheduling sequence number and the earliest start time corresponding to the scheduling sequence number 1 as the minimum project duration.
  • the minimum project duration obtaining unit 150 further includes:
  • the start time adjustment unit 159 is configured to postpone the earliest start time corresponding to the scheduling sequence number by one day to obtain the updated start time corresponding to the scheduling sequence number if the resources required by the current process corresponding to the scheduling sequence number have not reached the resource upper limit threshold of the resource list, And according to the updated starting time corresponding to the scheduling sequence number, the resources required by the current process are updated to obtain the updated resources required by the current process, and step S155 is returned to.
  • the duration information sending unit 160 is configured to send the minimum project duration corresponding to the IT development project file to be predicted to the user terminal.
  • the device realizes the improvement of the accuracy of the minimum construction period prediction of the IT project, and effectively avoids the non-deterministic polynomial problem in the minimum construction period prediction of the IT project.
  • the foregoing resource-constrained project scheduling apparatus may be implemented in the form of a computer program, and the computer program may run on a computer device as shown in FIG. 10.
  • FIG. 10 is a schematic block diagram of a computer device according to an embodiment of the present application.
  • the computer device 500 is a server, and the server may be an independent server or a server cluster composed of multiple servers.
  • the computer device 500 includes a processor 502, a memory, and a network interface 505 connected through a system bus 501, where the memory may include a non-volatile storage medium 503 and an internal memory 504.
  • the non-volatile storage medium 503 can store an operating system 5031 and a computer program 5032.
  • the processor 502 can execute the resource-constrained project scheduling method.
  • the processor 502 is used to provide computing and control capabilities, and support the operation of the entire computer device 500.
  • the internal memory 504 provides an environment for the operation of the computer program 5032 in the non-volatile storage medium 503.
  • the processor 502 can execute the resource-constrained project scheduling method.
  • the network interface 505 is used for network communication, such as providing data information transmission.
  • the structure shown in FIG. 10 is only a block diagram of a part of the structure related to the solution of the present application, and does not constitute a limitation on the computer device 500 to which the solution of the present application is applied.
  • the specific computer device 500 may include more or fewer components than shown in the figure, or combine certain components, or have a different component arrangement.
  • the processor 502 is configured to run a computer program 5032 stored in a memory to implement the resource-constrained project scheduling method disclosed in the embodiment of the present application.
  • the embodiment of the computer device shown in FIG. 10 does not constitute a limitation on the specific configuration of the computer device.
  • the computer device may include more or less components than those shown in the figure. Or some parts are combined, or different parts are arranged.
  • the computer device may only include a memory and a processor. In such an embodiment, the structures and functions of the memory and the processor are consistent with the embodiment shown in FIG. 10, and will not be repeated here.
  • the processor 502 may be a central processing unit (Central Processing Unit, CPU), and the processor 502 may also be other general-purpose processors, digital signal processors (Digital Signal Processors, DSPs), Application Specific Integrated Circuit (ASIC), Field-Programmable Gate Array (FPGA) or other programmable logic devices, discrete gates or transistor logic devices, discrete hardware components, etc.
  • the general-purpose processor may be a microprocessor or the processor may also be any conventional processor.
  • a computer-readable storage medium may be a non-volatile computer-readable storage medium.
  • the computer-readable storage medium stores a computer program, where the computer program is executed by a processor to implement the resource-constrained project scheduling method disclosed in the embodiments of the present application.
  • the storage medium is a physical, non-transitory storage medium, such as a U disk, a mobile hard disk, a read-only memory (Read-Only Memory, ROM), a magnetic disk, or an optical disk, etc., which can store program codes. medium.
  • a physical, non-transitory storage medium such as a U disk, a mobile hard disk, a read-only memory (Read-Only Memory, ROM), a magnetic disk, or an optical disk, etc., which can store program codes. medium.

Abstract

A resource-constrained project scheduling method and apparatus, and a computer device and a storage medium. The method comprises acquiring requirement analysis data of an IT development project file to be predicted (S110); extracting, according to a preset keyword set, corresponding procedure information from the requirement analysis data to form a procedure information set (S120); allocating an initial priority value to each procedure in the procedure information set to obtain an initial weight procedure information set (S130); acquiring the optimal bat position of each procedure by means of a bat algorithm to update the initial weight procedure information set in order to obtain the current weight procedure information set (S140); and decoding the current weight procedure information set by means of serial scheduling to obtain the corresponding minimum project duration (S150). The method improves the prediction accuracy of the minimum duration of an IT project, and effectively prevents a nondeterministic polynomial problem from occurring in the prediction of the minimum duration of the IT project.

Description

资源受限项目调度方法、装置、计算机设备、及存储介质Resource-constrained project scheduling method, device, computer equipment, and storage medium
本申请要求于2019年10月12日提交中国专利局、申请号为201910969189.8、申请名称为“资源受限项目调度方法、装置、计算机设备、及存储介质”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。This application claims the priority of a Chinese patent application filed with the Chinese Patent Office on October 12, 2019, the application number is 201910969189.8, and the application name is "Resource-constrained project scheduling methods, devices, computer equipment, and storage media", all of which The content is incorporated in this application by reference.
技术领域Technical field
本申请涉及数据处理技术领域,尤其涉及一种资源受限项目调度方法、装置、计算机设备及存储介质。This application relates to the field of data processing technology, and in particular to a resource-constrained project scheduling method, device, computer equipment and storage medium.
背景技术Background technique
资源受限项目调度问题(RCPSP)是要求在符合工序时序约束和资源约束的前提下,对有限的资源进行合理配置,恰当的安排每一项工序的开始及结束时间,使该项目的工期达到最优。而求解RCPSP,就是要为每一个工序确定一个可行的开始时间,寻找一个合适的并且符合工序间的逻辑约束和资源约束的进度计划,进而达到以最小化项目工期的目的。Resource-constrained project scheduling problem (RCPSP) requires reasonable allocation of limited resources on the premise of meeting process timing constraints and resource constraints, and appropriate arrangements for the start and end time of each process, so that the project's construction period can reach Optimal. To solve RCPSP, it is necessary to determine a feasible start time for each process, find a suitable schedule that meets the logical constraints and resource constraints between processes, and then achieve the goal of minimizing the project duration.
例如进行IT项目(即信息技术项目)开发,也可以视为一种资源受限项目,其也存在资源受限项目调度问题。若采用现有技术,存在以下两个问题:For example, the development of IT projects (ie, information technology projects) can also be regarded as a resource-constrained project, which also has the problem of resource-constrained project scheduling. If the existing technology is adopted, there are the following two problems:
1)由于是根据资源限制和生成的工序调度序列来计算的,故存在NP-hard问题(NP-hard问题表示非确定性多项式问题,NP-hard问题是这样的问题,只要其中某个问题可以在P时间内解决,那么所有的NP问题就都可以在P时间内解决了);1) Because it is calculated based on resource constraints and the generated process scheduling sequence, there is an NP-hard problem (NP-hard problem represents a non-deterministic polynomial problem, NP-hard problem is such a problem, as long as one of the problems can be Solved in P time, then all NP problems can be solved in P time);
2)而且在判断IT项目开发中不同工序的优先权值无现有经参考,初始设置会造成优先权值不当,从而导致预估最小工期不准确。2) In addition, there is no existing reference in judging the priority values of different processes in IT project development, and the initial setting will cause the priority values to be inappropriate, resulting in inaccurate estimates of the minimum construction period.
发明内容Summary of the invention
本申请实施例提供了一种资源受限项目调度方法、装置、计算机设备及存储介质,旨在解决现有技术中IT项目的最小工期预测中存在非确定性多项式问题,而且预估得到的最小工期不准确的问题。The embodiments of the application provide a resource-constrained project scheduling method, device, computer equipment, and storage medium, aiming to solve the problem of non-deterministic polynomials in the minimum construction period prediction of IT projects in the prior art, and the minimum estimated The problem of inaccurate duration.
第一方面,本申请实施例提供了一种资源受限项目调度方法,其包括:In the first aspect, an embodiment of the present application provides a resource-constrained project scheduling method, which includes:
接收用户端上传的待预测IT开发项目文件,获取待预测IT开发项目文件的需求分析数据;根据预设的关键词集合在所述需求分析数据中提取对应的工序信息,以组成工序信息集合;其中,每一工序信息包括工序名称、工序序号、工序所需时间;将所述工序信息集合中每一工序分配一个初始优先权值,以得到初始权重工序信息集合;其中,每一初始优先权值的取值范围为[0,1];通过蝙蝠算法获取初始权重工序信息集合中每一工序的最优蝙蝠位置,以更新初始权重工序信息集合得到当前权重工序信息集合;通过串行调度对所述当前权重工序信息集合进行解码,以得到所述待预测IT开发项目文件对应的最小项目工期;以及将所述待预测IT开发项目文件对应的最小项目工期发送至用户端。Receive the IT development project file to be predicted uploaded by the client, and obtain the demand analysis data of the IT development project file to be predicted; extract the corresponding process information from the demand analysis data according to the preset keyword set to form a process information set; Wherein, each process information includes process name, process number, process time required; each process in the process information set is assigned an initial priority value to obtain the initial weight process information set; wherein, each initial priority The value range is [0,1]; the optimal bat position of each process in the initial weighted process information set is obtained through the bat algorithm, and the initial weighted process information set is updated to obtain the current weighted process information set; The current weighted process information set is decoded to obtain the minimum project duration corresponding to the IT development project file to be predicted; and the minimum project duration corresponding to the IT development project file to be predicted is sent to the user terminal.
第二方面,本申请实施例提供了一种资源受限项目调度装置,其包括:In the second aspect, an embodiment of the present application provides a resource-constrained project scheduling device, which includes:
需求数据获取单元,用于接收用户端上传的待预测IT开发项目文件,获取待预测IT开发项目文件的需求分析数据;工序信息获取单元,用于根据预设的关键词集合在所述需求分析数据中提取对应的工序信息,以组成工序信息集合;其中,每一工序信息包括工序名称、工序序号、工序所需时间;初始权重集合获取单元,用于将所述工序信息集合中每一工序分配一个初始优先权值,以得到初始权重工序信息集合;其中,每一初始优先权值的取值范围为[0,1];当前权重集合获取单元,用于通过蝙蝠算法获取初始权重工序信息集合中每一工序的最优蝙蝠位置,以更新初始权重工序信息集合得到当前权重工序信息集合;最小项目工期获取单元,用于通过串行调度对所述当前权重工序信息集合进行解码,以得到所述待预测IT开发项目文件对应的最小项目工期;以及工期信息发送单元,用于将所述待预测IT开发项目文件对应的最小项目工期发送至用户端。The demand data acquisition unit is used to receive the IT development project file to be predicted uploaded by the user terminal, and to obtain the demand analysis data of the IT development project file to be predicted; the process information acquisition unit is used to set the demand analysis according to the preset keywords The corresponding process information is extracted from the data to form a process information set; among them, each process information includes process name, process serial number, and process time required; an initial weight set acquisition unit for combining each process in the process information set Assign an initial priority value to obtain the initial weighted process information set; among them, the value range of each initial priority value is [0,1]; the current weight set acquisition unit is used to obtain the initial weighted process information through the bat algorithm The optimal bat position of each process in the set is updated to obtain the current weighted process information set by updating the initial weighted process information set; the minimum project duration acquisition unit is used to decode the current weighted process information set through serial scheduling to obtain The minimum project duration corresponding to the IT development project document to be predicted; and the duration information sending unit for sending the minimum project duration corresponding to the IT development project document to be predicted to the user terminal.
第三方面,本申请实施例又提供了一种计算机设备,其包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述第一方面所述的资源受限项目调度方法。In a third aspect, an embodiment of the present application provides a computer device, which includes a memory, a processor, and a computer program stored on the memory and running on the processor, and the processor executes the computer The program implements the resource-constrained project scheduling method described in the first aspect.
第四方面,本申请实施例还提供了一种计算机可读存储介质,其中所述计算机可读存储介质存储有计算机程序,所述计算机程序当被处理器执行时使所述处理器执行上述第一方面所述的资源受限项目调度方法。In a fourth aspect, the embodiments of the present application also provide a computer-readable storage medium, wherein the computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the processor executes the above-mentioned first On the one hand, the resource-constrained project scheduling method.
附图说明Description of the drawings
为了更清楚地说明本申请实施例技术方案,下面将对实施例描述中所需要 使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。In order to explain the technical solutions of the embodiments of the present application more clearly, the following will briefly introduce the drawings used in the description of the embodiments. Obviously, the drawings in the following description are some embodiments of the present application. Ordinary technicians can obtain other drawings based on these drawings without creative work.
图1为本申请实施例提供的资源受限项目调度方法的应用场景示意图;FIG. 1 is a schematic diagram of an application scenario of a resource-constrained project scheduling method provided by an embodiment of the application;
图2为本申请实施例提供的资源受限项目调度方法的流程示意图;2 is a schematic flowchart of a resource-constrained project scheduling method provided by an embodiment of the application;
图3为本申请实施例提供的资源受限项目调度方法的子流程示意图;Fig. 3 is a schematic diagram of a sub-flow of a resource-constrained project scheduling method provided by an embodiment of the application;
图4为本申请实施例提供的资源受限项目调度方法的另一子流程示意图;4 is a schematic diagram of another sub-flow of the resource-constrained project scheduling method provided by an embodiment of the application;
图5为本申请实施例提供的资源受限项目调度方法的另一子流程示意图;FIG. 5 is a schematic diagram of another sub-flow of the resource-constrained project scheduling method provided by an embodiment of the application;
图6为本申请实施例提供的资源受限项目调度装置的示意性框图;FIG. 6 is a schematic block diagram of a resource-constrained project scheduling device provided by an embodiment of the application;
图7为本申请实施例提供的资源受限项目调度装置的子单元示意性框图;FIG. 7 is a schematic block diagram of subunits of a resource-constrained project scheduling device provided by an embodiment of the application;
图8为本申请实施例提供的资源受限项目调度装置的另一子单元示意性框图;FIG. 8 is a schematic block diagram of another subunit of the resource-constrained project scheduling apparatus provided by an embodiment of the application;
图9为本申请实施例提供的资源受限项目调度装置的另一子单元示意性框图;9 is a schematic block diagram of another subunit of the resource-constrained project scheduling device provided by an embodiment of the application;
图10为本申请实施例提供的计算机设备的示意性框图。FIG. 10 is a schematic block diagram of a computer device provided by an embodiment of the application.
具体实施方式Detailed ways
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。The technical solutions in the embodiments of the present application will be described clearly and completely in conjunction with the accompanying drawings in the embodiments of the present application. Obviously, the described embodiments are part of the embodiments of the present application, rather than all of them. Based on the embodiments in this application, all other embodiments obtained by those of ordinary skill in the art without creative work shall fall within the protection scope of this application.
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。It should be understood that when used in this specification and appended claims, the terms "including" and "including" indicate the existence of the described features, wholes, steps, operations, elements and/or components, but do not exclude one or The existence or addition of multiple other features, wholes, steps, operations, elements, components, and/or collections thereof.
还应当理解,在此本申请说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本申请。如在本申请说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。It should also be understood that the terms used in the specification of this application are only for the purpose of describing specific embodiments and are not intended to limit the application. As used in the specification of this application and the appended claims, unless the context clearly indicates other circumstances, the singular forms "a", "an" and "the" are intended to include plural forms.
还应当进一步理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包 括这些组合。It should be further understood that the term "and/or" used in the specification and appended claims of this application refers to any combination and all possible combinations of one or more of the associated listed items, and includes these combinations .
请参阅图1和图2,图1为本申请实施例提供的资源受限项目调度方法的应用场景示意图;图2为本申请实施例提供的资源受限项目调度方法的流程示意图,该资源受限项目调度方法应用于服务器中,该方法通过安装于服务器中的应用软件进行执行。Please refer to Figure 1 and Figure 2. Figure 1 is a schematic diagram of an application scenario of a resource-constrained project scheduling method provided by an embodiment of this application; Figure 2 is a schematic flow chart of a resource-constrained project scheduling method provided by an embodiment of this application. The project-limited scheduling method is applied to the server, and the method is executed by application software installed in the server.
如图2所示,该方法包括步骤S110~S160。As shown in Figure 2, the method includes steps S110 to S160.
S110、接收用户端上传的待预测IT开发项目文件,获取待预测IT开发项目文件的需求分析数据。S110. Receive the IT development project document to be predicted uploaded by the user terminal, and obtain the demand analysis data of the IT development project document to be predicted.
在本实施例中,IT开发项目在进行时,一般有标准的软件开发流程。软件开发流程即软件设计思路和方法的一般过程,包括对软件先进行需求分析,设计软件的功能和实现的算法和方法、软件的总体结构设计和模块设计、编码和调试、程序联调和测试以及编写、提交程序等一系列操作以满足客户的需求并且解决客户的问题,如果有更高需求,还需要对软件进行维护、升级处理,报废处理。当IT开发项目的软件开发流程完成整理后,得到IT开发项目文件,且一般IT开发项目文件的第一部分就是需求分析数据。通过定位IT开发项目文件的第一级标题名称(需求分析)对应的页码范围,即可获取需求分析数据。In this embodiment, when an IT development project is in progress, there is generally a standard software development process. The software development process is the general process of software design ideas and methods, including the software requirements analysis, the design of software functions and implementation algorithms and methods, the software's overall structure design and module design, coding and debugging, program joint debugging and testing, and A series of operations such as writing and submitting programs to meet customer needs and solve customer problems. If there is a higher demand, the software needs to be maintained, upgraded, and scrapped. When the software development process of the IT development project is completed and organized, the IT development project document is obtained, and the first part of the general IT development project document is the demand analysis data. By locating the page number range corresponding to the first-level title name (needs analysis) of the IT development project file, you can obtain the demand analysis data.
为了预测某一目标IT项目的最小工期,此时用户可以使用用户端(如智能手机、平板电脑等)上传待预测IT开发项目文件。服务器接收到了所述待预测IT开发项目文件后,通过定位所述待预测IT开发项目文件的第一级标题名称(即需求分析)对应的页码范围,即可获取需求分析数据,之后可以待预测IT开发项目文件为数据基础进行最小项目工期的预测。In order to predict the minimum construction period of a target IT project, the user can use the user terminal (such as smart phone, tablet computer, etc.) to upload the IT development project file to be predicted. After the server receives the IT development project file to be predicted, it can obtain the demand analysis data by locating the page range corresponding to the first-level title name (ie, demand analysis) of the IT development project file to be predicted, and then it can be predicted The IT development project file is a data basis for forecasting the minimum project duration.
S120、根据预设的关键词集合在所述需求分析数据中提取对应的工序信息,以组成工序信息集合;其中,每一工序信息包括工序名称、工序序号、工序所需时间。S120. Extract corresponding process information from the demand analysis data according to a preset keyword set to form a process information set; wherein, each process information includes a process name, a process serial number, and a process required time.
在本实施例中,当服务器接收了用户端所上传的待预测IT开发项目文件,根据待预测IT开发项目文件提取了需求分析数据后,可以在所述需求分析数据中提取对应的工序信息,以组成工序信息集合。例如,可以根据预设的关键词集合在所述需求分析数据中提取对应的工序信息,获知了各工序信息后,即可组合得到工序信息集合。In this embodiment, when the server receives the IT development project file to be predicted uploaded by the client, and extracts the demand analysis data according to the IT development project file to be predicted, the corresponding process information can be extracted from the demand analysis data, To form a collection of process information. For example, the corresponding process information can be extracted from the demand analysis data according to a preset keyword set, and after each process information is known, the process information set can be combined to obtain the process information set.
在一实施例中,如图3所示,步骤S120包括:In an embodiment, as shown in FIG. 3, step S120 includes:
S121、在所述需求分析数据中检索并定位与所述关键词集合包括相同关键的目标数据内容;S122、获取所述目标数据内容中包括的工序信息,以组成工序信息集合。S121: Retrieve and locate target data content that includes the same key as the keyword set in the demand analysis data; S122. Obtain process information included in the target data content to form a process information set.
在本实施例中,所述关键词集合包括产品特性、产品结构、状态说明。在IT开发项目的初始阶段编写需求分析文档时,即可根据需求分析文档进行关键内容的提取。例如预先设置的关键词集合包括:产品特性、产品结构、状态说明等关键词。其中产品特性的关键词集合又具体包括功能点1、功能点2、……、功能点N。In this embodiment, the keyword set includes product characteristics, product structure, and status descriptions. When writing a requirement analysis document at the initial stage of an IT development project, the key content can be extracted according to the requirement analysis document. For example, the preset keyword set includes: product characteristics, product structure, status description and other keywords. Among them, the keyword set of product features specifically includes function point 1, function point 2, ..., function point N.
根据预设的关键词集合在所述需求分析数据中提取对应的工序信息以组成工序信息集合,即是具体定位功能点1、功能点2、……、功能点N这些关键工序在需求分析数据中的位置,并提取之后对应的工序名称和工序所需时间(一般需求分析数据中会罗列工序名称及工序所需时间,只要定位到例如功能点1等大标题,即可快速获取其之后的工序名称和工序所需时间),而且根据所提取到的功能点的顺序对其进行工序序号进行编号(例如功能点1的工序序号默认的工序序号为1)。According to the preset keyword set, the corresponding process information is extracted from the demand analysis data to form the process information set, that is, the key processes of specific positioning function point 1, function point 2,..., function point N are in the demand analysis data And extract the corresponding process name and time required for the process (generally, the process name and process time required for the process will be listed in the general demand analysis data. As long as you locate the heading such as function point 1, you can quickly get the following The name of the process and the time required for the process), and the process number is numbered according to the order of the extracted function points (for example, the process number of the function point 1 is the default process number 1).
S130、将所述工序信息集合中每一工序分配一个初始优先权值,以得到初始权重工序信息集合;其中,每一初始优先权值的取值范围为[0,1]。S130. Assign an initial priority value to each process in the process information set to obtain an initial weighted process information set; wherein, the value range of each initial priority value is [0, 1].
在本实施例中,当获取了工序信息集合后,该工序信息集合的工序数J即为空间的维度(采用蝙蝠算法的常规做法),那么J个工序的优先权值则对应着J维坐标,即每一维度的数值表示着一个工序的优先权值,在满足资源约束和逻辑约束的前提下,优先权值大的工序优先调度。In this embodiment, when the process information set is obtained, the process number J of the process information set is the dimension of the space (using the conventional method of the bat algorithm), then the priority values of the J processes correspond to the J-dimensional coordinates , That is, the value of each dimension represents the priority value of a process. Under the premise of meeting resource constraints and logical constraints, processes with higher priority values are prioritized.
一个虚拟蝙蝠作为J维空间的一个点,其位置可以表示为X i(x i1,x i2,…,x ij),其中0<x ij<1,对应的是第j个工序的优先权值。通常情况下,采用基于优先权的编码方案时,初始化蝙蝠位置采用随机生成的方式,其每一维度的数值均为[0,1]上的随机数。通过上述初始赋值,实现了对所述工序信息集合中每一工序的优先权值的初始化。 A virtual bat is a point in the J-dimensional space, and its position can be expressed as X i (x i1 ,x i2 ,...,x ij ), where 0<x ij <1 corresponds to the priority value of the jth process . Under normal circumstances, when a priority-based coding scheme is used, the initial bat position is randomly generated, and the value of each dimension is a random number on [0, 1]. Through the above initial assignment, the priority value of each process in the process information set is initialized.
S140、通过蝙蝠算法获取初始权重工序信息集合中每一工序的最优蝙蝠位置,以更新初始权重工序信息集合得到当前权重工序信息集合。S140: Obtain the optimal bat position of each process in the initial weighted process information set by the bat algorithm, so as to update the initial weighted process information set to obtain the current weighted process information set.
在本实施例中,所采用的蝙蝠算法,是一种元启发式优化算法,以微蝙蝠(microbats)回声定位行为的基础,采用不同的脉冲发射率和响度。把蝙蝠的 回声定位理想化,可以总结如下:每个虚拟蝙蝠有随机的飞行速度v i在位置x i(问题的解),同时蝙蝠具有不同的频率或波长、响度Ai和脉冲率r。蝙蝠狩猎和发现猎物时,它改变频率、脉冲音量和脉冲发射率,进行最佳解的选择,直到目标停止或条件得到满足。这本质上就是使用调谐技术来控制蝙蝠群的动态行为,平衡调整算法相关的参数,以取得蝙蝠算法的最优。 In this embodiment, the bat algorithm used is a meta-heuristic optimization algorithm that uses different pulse emission rates and loudness based on the echolocation behavior of microbats. The idealization of the echolocation of bats can be summarized as follows: each virtual bat has a random flying speed v i at the position x i (the solution of the problem), and the bats have different frequencies or wavelengths, loudness Ai, and pulse rate r. When the bat hunts and finds its prey, it changes the frequency, pulse volume and pulse emission rate, and selects the best solution until the target stops or the conditions are met. This is essentially the use of tuning technology to control the dynamic behavior of the bat colony, balance and adjust the relevant parameters of the algorithm to obtain the optimal bat algorithm.
在一实施例中,如图4所示,步骤S140包括:In an embodiment, as shown in FIG. 4, step S140 includes:
S141、以初始权重工序信息集合中每一点的初始优先权值作为初始蝙蝠位置;S142、根据蝙蝠算法获取最优蝙蝠位置,通过所述最优蝙蝠位置对初始权重工序信息集合中每一点的初始优先权值更新为当前优先权值,以得到当前权重工序信息集合。S141. Use the initial priority value of each point in the initial weight process information set as the initial bat position; S142. Obtain the optimal bat position according to the bat algorithm, and use the optimal bat position to determine the initial value of each point in the initial weight process information set. The priority value is updated to the current priority value to obtain the current weighted process information set.
在本实施例中,蝙蝠算法的方程如下:In this embodiment, the equation of the bat algorithm is as follows:
f i=f min+(f max-f min)β;                 (1.1) f i =f min +(f max -f min )β; (1.1)
Figure PCTCN2019118398-appb-000001
Figure PCTCN2019118398-appb-000001
Figure PCTCN2019118398-appb-000002
Figure PCTCN2019118398-appb-000002
在采用蝙蝠算法来计算每一蝙蝠的最优蝙蝠位置时,先是获取各初始蝙蝠位置以作为上述方程1.2的输入并结合方程1.1和方程1.3,对方程进行迭代,而得到初始权重工序信息集合中每一点的最优蝙蝠位置,以每一点的最优蝙蝠位置对应的值作为当前优先权值,对初始权重工序信息集合中每一点的初始优先权值更新为当前优先权值,以得到当前权重工序信息集合。由于获取了每一工序的最优的当前优先权值,故根据新的当前优先权值对各工序进行重新安排时会更加缩短工期。When using the bat algorithm to calculate the optimal bat position of each bat, first obtain each initial bat position as the input of the above equation 1.2 and combine equation 1.1 and equation 1.3 to iterate the equation to obtain the initial weight process information set For the optimal bat position of each point, the value corresponding to the optimal bat position of each point is used as the current priority value, and the initial priority value of each point in the initial weight process information set is updated to the current priority value to obtain the current weight Process information collection. Since the optimal current priority value of each process is obtained, the construction period will be further shortened when the processes are rearranged according to the new current priority value.
在一实施例中,步骤S142包括:In an embodiment, step S142 includes:
将所述初始权重工序信息集合中每一点对应的初始蝙蝠位置作为蝙蝠算法中各蝙蝠的初始位置,根据初始化设置的最大脉冲音量、最大脉冲率、搜索脉冲频率范围、音量的衰减系数、搜索频率的增强系数、搜索精度及各蝙蝠的初始位置在蝙蝠算法中进行迭代,直至获取每一点对应的最优蝙蝠位置。The initial bat position corresponding to each point in the initial weighting process information set is taken as the initial position of each bat in the bat algorithm, and the maximum pulse volume, maximum pulse rate, search pulse frequency range, volume attenuation coefficient, and search frequency are set according to the initialization. The enhancement coefficient, search accuracy and the initial position of each bat are iterated in the bat algorithm until the optimal bat position corresponding to each point is obtained.
在本实施例中,为了更清楚利用蝙蝠算法计算每一点对应的最优蝙蝠位置,下面对蝙蝠算法进行详细介绍。蝙蝠算法包括以下步骤:In this embodiment, in order to use the bat algorithm to calculate the optimal bat position corresponding to each point more clearly, the bat algorithm is described in detail below. The Bat algorithm includes the following steps:
41)种群初始化,即蝙蝠以随机方式在J维空间中扩散分布一组初始解,最 大脉冲音量A 0,最大脉冲率R 0,搜索脉冲频率范围[f min,f max],音量的衰减系数α,搜索频率的增强系数γ,搜索精度ε。42)随机初始化各蝙蝠的位置x i,并根据适应度值的优劣寻找各蝙蝠的当前最优解x*(x*表示各蝙蝠的最优蝙蝠位置);43)蝙蝠的种群在进化过程中在方程1.1-方程1.3中进行迭代;在方程1.1-方程1.3中,β属于[0,1]是均匀分布的随机数;f i是蝙蝠i的搜索脉冲频率,f i∈[f min,f max];
Figure PCTCN2019118398-appb-000003
Figure PCTCN2019118398-appb-000004
分别表示蝙蝠i在t和t+1时刻的速度;
Figure PCTCN2019118398-appb-000005
Figure PCTCN2019118398-appb-000006
分别表示蝙蝠i在t和t+1时刻的位置;x*表示各蝙蝠的最优蝙蝠位置。44)生成均匀分布随机数rand,如果rand>R 0,则对各蝙蝠的最优蝙蝠位置进行随机扰动,产生一个新的解,并对新的解进行越界处理;45)生成均匀分布随机数rand,如果rand<Ai且f(xi)<f(x*),则接受步骤44)产生新的解,然后按如下公式进行更新:
41) Population initialization, that is, a set of initial solutions distributed by bats in a J-dimensional space in a random manner, maximum pulse volume A 0 , maximum pulse rate R 0 , search pulse frequency range [f min , f max ], volume attenuation coefficient α, the enhancement coefficient γ of the search frequency, the search accuracy ε. 42) Randomly initialize the position x i of each bat, and find the current optimal solution x* (x* represents the optimal bat position of each bat) according to the fitness value; 43) the evolution of the bat population In Equation 1.1-Equation 1.3, iterate; in Equation 1.1-Equation 1.3, β belongs to [0,1] is a uniformly distributed random number; f i is the search pulse frequency of bat i, f i ∈[f min , f max ];
Figure PCTCN2019118398-appb-000003
with
Figure PCTCN2019118398-appb-000004
Respectively represent the speed of bat i at t and t+1;
Figure PCTCN2019118398-appb-000005
with
Figure PCTCN2019118398-appb-000006
Respectively represent the position of bat i at t and t+1; x* represents the optimal bat position of each bat. 44) Generate a uniformly distributed random number rand, if rand>R 0 , randomly perturb the optimal bat position of each bat to generate a new solution, and perform out-of-bounds processing on the new solution; 45) Generate a uniformly distributed random number rand, if rand<Ai and f(xi)<f(x*), then accept step 44) to generate a new solution, and then update it according to the following formula:
Figure PCTCN2019118398-appb-000007
Figure PCTCN2019118398-appb-000007
Figure PCTCN2019118398-appb-000008
Figure PCTCN2019118398-appb-000008
46)对所有蝙蝠的适应度值进行排序,找出各蝙蝠的当前最优解和最优值;46) Sort the fitness values of all bats to find the current optimal solution and optimal value of each bat;
47)重复步骤42)~步骤45)直至满足设定的最优解条件;47) Repeat steps 42) to 45) until the set optimal solution conditions are met;
48)输出各蝙蝠的全局最优值和最优解。48) Output the global optimal value and optimal solution of each bat.
采用基本的蝙蝠算法的步骤,寻求最优的蝙蝠位置Xi,即可以得到对应的工序的当前优先权值。而且通过上述方式得到的工序的当前优先权值,更更加合理的安排各工序的排序和工期。Using the steps of the basic bat algorithm to find the optimal bat position Xi, the current priority value of the corresponding process can be obtained. Moreover, the current priority value of the process obtained by the above method can arrange the sequence and duration of each process more rationally.
S150、通过串行调度对所述当前权重工序信息集合进行解码,以得到所述待预测IT开发项目文件对应的最小项目工期。S150. Decode the current weighted process information set through serial scheduling to obtain the minimum project duration corresponding to the IT development project file to be predicted.
在本实施例中,当完成了对初始权重工序信息集合中每一点的初始优先权值更新为当前优先权值,以得到当前权重工序信息集合后,此时可以以采取串行调度方案对蝙蝠进行解码,进而得到一个可行的调度方案。In this embodiment, when the initial priority value of each point in the initial weighted process information set is updated to the current priority value to obtain the current weighted process information set, a serial scheduling scheme can be used to control the bat Decoding, and then get a feasible scheduling plan.
在一实施例中,如图5所示,步骤S150包括:In an embodiment, as shown in FIG. 5, step S150 includes:
S151、对资源列表进行初始化操作;其中,将调度序号进行初始化赋值为1;S152、提取当前权重工序信息集合中当前工序序号,并将提取到的当前工序序号赋予调度序号;S153、根据调度序号在所述需求分析数据中获取与调度序号对应的前序工序,及前序工序对应的最迟结束工序时间,以作为调度序号对应的最早起始时间;S154、判断调度序号对应的当前工序所需资源是否达到资源列表的资源上限阈值;S155、若调度序号对应的当前工序所需资源达到资源列 表的资源上限阈值,根据当前工序所需时间、及调度序号对应的最早起始时间,计算获取调度序号对应的结束时间;S156、判断调度序号是否小于所述需求分析数据中的工序总数;若调度序号小于所述需求分析数据中的工序总数,执行步骤S157;若调度序号大于或等于所述需求分析数据中的工序总数,执行步骤S158;S157、将调度序号自增1以得到更新后的调度序号,返回执行步骤S153;S158、根据当前的调度序号对应的结束时间、及根据调度序号为1对应的最早起始时间之差作为项目最小工期。S151. Perform an initialization operation on the resource list; wherein, initialize the scheduling sequence number to 1; S152. Extract the current process sequence number from the current weighted process information set, and assign the extracted current process sequence number to the scheduling sequence number; S153, according to the scheduling sequence number Obtain the previous process corresponding to the scheduling sequence number and the latest end process time corresponding to the previous process from the demand analysis data as the earliest start time corresponding to the scheduling sequence number; S154, determine the current process location corresponding to the scheduling sequence number Whether the required resource reaches the resource upper limit threshold of the resource list; S155. If the resource required by the current process corresponding to the scheduling sequence number reaches the resource upper limit threshold of the resource list, calculate and obtain according to the time required for the current process and the earliest start time corresponding to the scheduling sequence number The end time corresponding to the scheduling sequence number; S156. Determine whether the scheduling sequence number is less than the total number of processes in the demand analysis data; if the scheduling sequence number is less than the total number of processes in the demand analysis data, perform step S157; if the scheduling sequence number is greater than or equal to the aforementioned For the total number of processes in the demand analysis data, perform step S158; S157, increment the scheduling sequence number by 1 to obtain the updated scheduling sequence number, and return to step S153; S158, according to the end time corresponding to the current scheduling sequence number, and according to the scheduling sequence number as The difference between the earliest start time corresponding to 1 is regarded as the minimum project duration.
在一实施例中,如图5所示,步骤S154之后还包括:In an embodiment, as shown in FIG. 5, after step S154, the method further includes:
S159、若调度序号对应的当前工序所需资源未达到资源列表的资源上限阈值,将调度序号对应的最早起始时间延期一天得到调度序号对应的更新后起始时间,并根据调度序号对应的更新后起始时间对当前工序所需资源进行更新,以得到更新后的当前工序所需资源,返回执行步骤S155。S159. If the resource required by the current process corresponding to the scheduling sequence number does not reach the resource upper limit threshold of the resource list, postpone the earliest starting time corresponding to the scheduling sequence number by one day to obtain the updated starting time corresponding to the scheduling sequence number, and update according to the scheduling sequence number After the start time, the resources required by the current process are updated to obtain the updated resources required by the current process, and step S155 is returned to.
在本实施例中,经典资源受限项目调度问题的优化目标是项目工期最小化,是根据资源限制和生成的工序调度序列来计算的,求解过程具体如下:In this embodiment, the optimization goal of the classic resource-constrained project scheduling problem is to minimize the project duration, which is calculated based on resource constraints and the generated process scheduling sequence. The specific solution process is as follows:
51)对资源列表进行初始化操作,初始化调度序号No为1,令No=k=1;52)提取当前权重工序信息集合中当前工序序号并将提取到的值赋给No,查找No的所有前序工序,找出其中最迟结束的工序的结束时间,并且将该时间作为No的最早开始时间ST(No);53)判断No对应当前工序所需资源是否达到系统资源上限要求,是则转54);不是则转55);54)根据当前工序的工序所需时间计算No的结束时间FT(No);其中,采用优先抢占模式的资源分配方式,同时将所用的资源从资源列表中减掉,并更新资源列表。也即当前工序一旦执行则会从资源列表中抢占资源,并将其所抢占的资源从资源列表中减掉,并更新资源列表。55)将当前工序的最早开始时间延期一天,即ST(No)=ST(No)+1,重新计算资源供应量,转到53);56)如果k<J,k=k+1,转到52);否则输出当前工序的最晚结束时间,即项目的最小工期。51) Initialize the resource list, initialize the scheduling sequence number No to 1, let No=k=1; 52) Extract the current process sequence number in the current weighted process information set and assign the extracted value to No, find all the previous numbers of No Sequence process, find out the end time of the process that ends the latest, and use this time as the earliest start time of No. ST(No); 53) Determine whether the resources required for the current process corresponding to No reach the upper limit of system resources, and if yes, turn to 54); If not, go to 55); 54) Calculate the end time FT(No) of No according to the time required for the current process; among them, the resource allocation method of priority preemption mode is adopted, and the used resources are reduced from the resource list at the same time And update the resource list. That is to say, once the current process is executed, resources will be preempted from the resource list, the preempted resources will be subtracted from the resource list, and the resource list will be updated. 55) Extend the earliest start time of the current process by one day, that is, ST(No)=ST(No)+1, recalculate the resource supply, and go to 53); 56) If k<J, k=k+1, go to To 52); otherwise, output the latest end time of the current process, that is, the minimum duration of the project.
可见,采取串行调度方案对蝙蝠进行解码,可以得到一个可行的调度方案以作为项目的最小工期。It can be seen that by adopting the serial scheduling scheme to decode the bat, a feasible scheduling scheme can be obtained as the minimum construction period of the project.
S160、将所述待预测IT开发项目文件对应的最小项目工期发送至用户端。S160. Send the minimum project duration corresponding to the IT development project file to be predicted to the user terminal.
在本实施例中,当在服务器中完成了对所述待预测IT开发项目对应的最小项目工期的预测后,需将最小项目工期发送至用户端进行及时通知。In this embodiment, after the prediction of the minimum project duration corresponding to the IT development project to be predicted is completed in the server, the minimum project duration needs to be sent to the user terminal for timely notification.
该方法实现了对IT项目的最小工期预测准确率的提升,而且有效避免了IT项目的最小工期预测中存在非确定性多项式问题。This method realizes the improvement of the accuracy of the minimum construction period prediction of IT projects, and effectively avoids the non-deterministic polynomial problem in the minimum construction period prediction of IT projects.
本申请实施例还提供一种资源受限项目调度装置,该资源受限项目调度装置用于执行前述资源受限项目调度方法的任一实施例。具体地,请参阅图6,图6是本申请实施例提供的资源受限项目调度装置的示意性框图。该资源受限项目调度装置100可以配置于服务器中。An embodiment of the present application also provides a resource-constrained project scheduling device, which is configured to execute any embodiment of the foregoing resource-constrained project scheduling method. Specifically, please refer to FIG. 6, which is a schematic block diagram of a resource-constrained project scheduling apparatus provided by an embodiment of the present application. The resource-constrained project scheduling apparatus 100 can be configured in a server.
如图6所示,资源受限项目调度装置100包括需求数据获取单元110、工序信息获取单元120、初始权重集合获取单元130、当前权重集合获取单元140、最小项目工期获取单元150、工期信息发送单元160。As shown in FIG. 6, the resource-constrained project scheduling device 100 includes a demand data acquisition unit 110, a process information acquisition unit 120, an initial weight set acquisition unit 130, a current weight set acquisition unit 140, a minimum project duration acquisition unit 150, and a construction period information transmission unit. Unit 160.
需求数据获取单元110,用于接收用户端上传的待预测IT开发项目文件,获取待预测IT开发项目文件的需求分析数据。The demand data obtaining unit 110 is configured to receive the IT development project file to be predicted uploaded by the user terminal, and obtain the demand analysis data of the IT development project file to be predicted.
工序信息获取单元120,用于根据预设的关键词集合在所述需求分析数据中提取对应的工序信息,以组成工序信息集合;其中,每一工序信息包括工序名称、工序序号、工序所需时间。The process information acquisition unit 120 is configured to extract corresponding process information from the demand analysis data according to a preset keyword set to form a process information set; wherein, each process information includes process name, process serial number, and process requirements. time.
在一实施例中,如图7所示,工序信息获取单元120包括:In an embodiment, as shown in FIG. 7, the process information acquiring unit 120 includes:
目标数据内容获取单元121,用于在所述需求分析数据中检索并定位与所述关键词集合包括相同关键的目标数据内容;The target data content obtaining unit 121 is configured to retrieve and locate target data content that includes the same key as the keyword set in the demand analysis data;
工序组合单元122,用于获取所述目标数据内容中包括的工序信息,以组成工序信息集合。The process combination unit 122 is used to obtain process information included in the target data content to form a process information set.
初始权重集合获取单元130,用于将所述工序信息集合中每一工序分配一个初始优先权值,以得到初始权重工序信息集合;其中,每一初始优先权值的取值范围为[0,1]。The initial weight set acquisition unit 130 is configured to assign an initial priority value to each process in the process information set to obtain an initial weighted process information set; wherein, the value range of each initial priority value is [0, 1].
当前权重集合获取单元140,用于通过蝙蝠算法获取初始权重工序信息集合中每一工序的最优蝙蝠位置,以更新初始权重工序信息集合得到当前权重工序信息集合。The current weight set obtaining unit 140 is configured to obtain the optimal bat position of each process in the initial weight process information set through the bat algorithm, so as to update the initial weight process information set to obtain the current weight process information set.
在一实施例中,如图8所示,当前权重集合获取单元140包括:In an embodiment, as shown in FIG. 8, the current weight set obtaining unit 140 includes:
初始蝙蝠位置获取单元141,用于以初始权重工序信息集合中每一点的初始优先权值作为初始蝙蝠位置;The initial bat position acquiring unit 141 is configured to use the initial priority value of each point in the initial weighting process information set as the initial bat position;
迭代单元142,用于根据蝙蝠算法获取最优蝙蝠位置,通过所述最优蝙蝠位置对初始权重工序信息集合中每一点的初始优先权值更新为当前优先权值,以得到当前权重工序信息集合。The iterative unit 142 is configured to obtain the optimal bat position according to the bat algorithm, and update the initial priority value of each point in the initial weighted procedure information set to the current priority value through the optimal bat position to obtain the current weighted procedure information set .
在一实施例中,迭代单元142还用于:In an embodiment, the iteration unit 142 is further configured to:
将所述初始权重工序信息集合中每一点对应的初始蝙蝠位置作为蝙蝠算法中各蝙蝠的初始位置,根据初始化设置的最大脉冲音量、最大脉冲率、搜索脉冲频率范围、音量的衰减系数、搜索频率的增强系数、搜索精度及各蝙蝠的初始位置在蝙蝠算法中进行迭代,直至获取每一点对应的最优蝙蝠位置。The initial bat position corresponding to each point in the initial weighting process information set is taken as the initial position of each bat in the bat algorithm, and the maximum pulse volume, maximum pulse rate, search pulse frequency range, volume attenuation coefficient, and search frequency are set according to the initialization. The enhancement coefficient, search accuracy and the initial position of each bat are iterated in the bat algorithm until the optimal bat position corresponding to each point is obtained.
最小项目工期获取单元150,用于通过串行调度对所述当前权重工序信息集合进行解码,以得到所述待预测IT开发项目文件对应的最小项目工期。The minimum project duration obtaining unit 150 is configured to decode the current weighted process information set through serial scheduling to obtain the minimum project duration corresponding to the IT development project file to be predicted.
在一实施例中,如图9所示,最小项目工期获取单元150包括:In an embodiment, as shown in FIG. 9, the minimum project duration obtaining unit 150 includes:
初始化单元151,用于对资源列表进行初始化操作;其中,将调度序号进行初始化赋值为1;The initialization unit 151 is used to initialize the resource list; wherein, the scheduling sequence number is initialized and assigned to 1;
调度序号赋值单元152,用于提取当前权重工序信息集合中当前工序序号,并将提取到的当前工序序号赋予调度序号;The scheduling sequence number assignment unit 152 is configured to extract the current process sequence number in the current weighted process information set, and assign the extracted current process sequence number to the scheduling sequence number;
起始时间获取单元153,用于根据调度序号在所述需求分析数据中获取与调度序号对应的前序工序,及前序工序对应的最迟结束工序时间,以作为调度序号对应的最早起始时间;The start time obtaining unit 153 is configured to obtain, from the demand analysis data according to the scheduling sequence number, the preceding process corresponding to the scheduling sequence number, and the latest end process time corresponding to the preceding process, as the earliest start corresponding to the scheduling sequence number time;
第一判断单元154,用于判断调度序号对应的当前工序所需资源是否达到资源列表的资源上限阈值;The first judging unit 154 is configured to judge whether the resource required by the current process corresponding to the scheduling sequence number reaches the resource upper limit threshold of the resource list;
结束时间获取单元155,用于若调度序号对应的当前工序所需资源达到资源列表的资源上限阈值,根据当前工序所需时间、及调度序号对应的最早起始时间,计算获取调度序号对应的结束时间;The end time obtaining unit 155 is configured to calculate and obtain the end corresponding to the scheduling sequence number based on the time required for the current process and the earliest start time corresponding to the scheduling sequence number if the resources required by the current process corresponding to the scheduling sequence number reach the resource upper limit threshold of the resource list time;
第二判断单元156,用于判断调度序号是否小于所述需求分析数据中的工序总数;若调度序号小于所述需求分析数据中的工序总数,执行将调度序号自增1以得到更新后的调度序号的步骤;若调度序号大于或等于所述需求分析数据中的工序总数,执行根据当前的调度序号对应的结束时间、及根据调度序号为1对应的最早起始时间之差作为项目最小工期的步骤;The second judging unit 156 is used to judge whether the scheduling sequence number is less than the total number of processes in the demand analysis data; if the scheduling sequence number is less than the total number of processes in the demand analysis data, the scheduling sequence number is automatically incremented by 1 to obtain the updated scheduling Sequence number step; if the scheduling sequence number is greater than or equal to the total number of processes in the demand analysis data, the difference between the end time corresponding to the current scheduling sequence number and the earliest start time corresponding to the scheduling sequence number 1 is used as the minimum project duration step;
调度序号自增单元157,用于将调度序号自增1以得到更新后的调度序号,返回执行根据调度序号在所述需求分析数据中获取与调度序号对应的前序工序, 及前序工序对应的最迟结束工序时间,以作为调度序号对应的最早起始时间的步骤;The dispatch sequence number auto-increment unit 157 is used to automatically increment the dispatch sequence number by 1 to obtain the updated dispatch sequence number, and return to execute the preceding procedure corresponding to the dispatch sequence number obtained from the demand analysis data according to the dispatch sequence number, and corresponding to the preceding procedure The latest end process time of is used as the step of the earliest start time corresponding to the scheduling sequence number;
项目最小工期计算单元158,用于根据当前的调度序号对应的结束时间、及根据调度序号为1对应的最早起始时间之差作为项目最小工期。The minimum project duration calculation unit 158 is configured to use the difference between the end time corresponding to the current scheduling sequence number and the earliest start time corresponding to the scheduling sequence number 1 as the minimum project duration.
在一实施例中,如图9所示,最小项目工期获取单元150还包括:In an embodiment, as shown in FIG. 9, the minimum project duration obtaining unit 150 further includes:
起始时间调整单元159,用于若调度序号对应的当前工序所需资源未达到资源列表的资源上限阈值,将调度序号对应的最早起始时间延期一天得到调度序号对应的更新后起始时间,并根据调度序号对应的更新后起始时间对当前工序所需资源进行更新,以得到更新后的当前工序所需资源,返回执行步骤S155。The start time adjustment unit 159 is configured to postpone the earliest start time corresponding to the scheduling sequence number by one day to obtain the updated start time corresponding to the scheduling sequence number if the resources required by the current process corresponding to the scheduling sequence number have not reached the resource upper limit threshold of the resource list, And according to the updated starting time corresponding to the scheduling sequence number, the resources required by the current process are updated to obtain the updated resources required by the current process, and step S155 is returned to.
工期信息发送单元160,用于将所述待预测IT开发项目文件对应的最小项目工期发送至用户端。The duration information sending unit 160 is configured to send the minimum project duration corresponding to the IT development project file to be predicted to the user terminal.
该装置实现了对IT项目的最小工期预测准确率的提升,而且有效避免了IT项目的最小工期预测中存在非确定性多项式问题。The device realizes the improvement of the accuracy of the minimum construction period prediction of the IT project, and effectively avoids the non-deterministic polynomial problem in the minimum construction period prediction of the IT project.
上述资源受限项目调度装置可以实现为计算机程序的形式,该计算机程序可以在如图10所示的计算机设备上运行。The foregoing resource-constrained project scheduling apparatus may be implemented in the form of a computer program, and the computer program may run on a computer device as shown in FIG. 10.
请参阅图10,图10是本申请实施例提供的计算机设备的示意性框图。该计算机设备500是服务器,服务器可以是独立的服务器,也可以是多个服务器组成的服务器集群。Please refer to FIG. 10, which is a schematic block diagram of a computer device according to an embodiment of the present application. The computer device 500 is a server, and the server may be an independent server or a server cluster composed of multiple servers.
参阅图10,该计算机设备500包括通过系统总线501连接的处理器502、存储器和网络接口505,其中,存储器可以包括非易失性存储介质503和内存储器504。10, the computer device 500 includes a processor 502, a memory, and a network interface 505 connected through a system bus 501, where the memory may include a non-volatile storage medium 503 and an internal memory 504.
该非易失性存储介质503可存储操作系统5031和计算机程序5032。该计算机程序5032被执行时,可使得处理器502执行资源受限项目调度方法。The non-volatile storage medium 503 can store an operating system 5031 and a computer program 5032. When the computer program 5032 is executed, the processor 502 can execute the resource-constrained project scheduling method.
该处理器502用于提供计算和控制能力,支撑整个计算机设备500的运行。The processor 502 is used to provide computing and control capabilities, and support the operation of the entire computer device 500.
该内存储器504为非易失性存储介质503中的计算机程序5032的运行提供环境,该计算机程序5032被处理器502执行时,可使得处理器502执行资源受限项目调度方法。The internal memory 504 provides an environment for the operation of the computer program 5032 in the non-volatile storage medium 503. When the computer program 5032 is executed by the processor 502, the processor 502 can execute the resource-constrained project scheduling method.
该网络接口505用于进行网络通信,如提供数据信息的传输等。本领域技术人员可以理解,图10中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备500的限定,具体的 计算机设备500可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。The network interface 505 is used for network communication, such as providing data information transmission. Those skilled in the art can understand that the structure shown in FIG. 10 is only a block diagram of a part of the structure related to the solution of the present application, and does not constitute a limitation on the computer device 500 to which the solution of the present application is applied. The specific computer device 500 may include more or fewer components than shown in the figure, or combine certain components, or have a different component arrangement.
其中,所述处理器502用于运行存储在存储器中的计算机程序5032,以实现本申请实施例公开的资源受限项目调度方法。Wherein, the processor 502 is configured to run a computer program 5032 stored in a memory to implement the resource-constrained project scheduling method disclosed in the embodiment of the present application.
本领域技术人员可以理解,图10中示出的计算机设备的实施例并不构成对计算机设备具体构成的限定,在其他实施例中,计算机设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。例如,在一些实施例中,计算机设备可以仅包括存储器及处理器,在这样的实施例中,存储器及处理器的结构及功能与图10所示实施例一致,在此不再赘述。Those skilled in the art can understand that the embodiment of the computer device shown in FIG. 10 does not constitute a limitation on the specific configuration of the computer device. In other embodiments, the computer device may include more or less components than those shown in the figure. Or some parts are combined, or different parts are arranged. For example, in some embodiments, the computer device may only include a memory and a processor. In such an embodiment, the structures and functions of the memory and the processor are consistent with the embodiment shown in FIG. 10, and will not be repeated here.
应当理解,在本申请实施例中,处理器502可以是中央处理单元(Central Processing Unit,CPU),该处理器502还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。It should be understood that in this embodiment of the application, the processor 502 may be a central processing unit (Central Processing Unit, CPU), and the processor 502 may also be other general-purpose processors, digital signal processors (Digital Signal Processors, DSPs), Application Specific Integrated Circuit (ASIC), Field-Programmable Gate Array (FPGA) or other programmable logic devices, discrete gates or transistor logic devices, discrete hardware components, etc. Among them, the general-purpose processor may be a microprocessor or the processor may also be any conventional processor.
在本申请的另一实施例中提供计算机可读存储介质。该计算机可读存储介质可以为非易失性的计算机可读存储介质。该计算机可读存储介质存储有计算机程序,其中计算机程序被处理器执行时实现本申请实施例公开的资源受限项目调度方法。In another embodiment of the present application, a computer-readable storage medium is provided. The computer-readable storage medium may be a non-volatile computer-readable storage medium. The computer-readable storage medium stores a computer program, where the computer program is executed by a processor to implement the resource-constrained project scheduling method disclosed in the embodiments of the present application.
所述存储介质为实体的、非瞬时性的存储介质,例如可以是U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的实体存储介质。The storage medium is a physical, non-transitory storage medium, such as a U disk, a mobile hard disk, a read-only memory (Read-Only Memory, ROM), a magnetic disk, or an optical disk, etc., which can store program codes. medium.
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的设备、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。Those skilled in the art can clearly understand that, for the convenience and conciseness of description, the specific working process of the above-described equipment, device, and unit can refer to the corresponding process in the foregoing method embodiment, which will not be repeated here.
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。The above are only specific implementations of this application, but the protection scope of this application is not limited to this. Anyone familiar with the technical field can easily think of various equivalents within the technical scope disclosed in this application. Modifications or replacements, these modifications or replacements shall be covered within the scope of protection of this application. Therefore, the protection scope of this application should be subject to the protection scope of the claims.

Claims (20)

  1. 一种资源受限项目调度方法,包括:A resource-constrained project scheduling method, including:
    接收用户端上传的待预测IT开发项目文件,获取待预测IT开发项目文件的需求分析数据;Receive the IT development project document to be predicted uploaded by the client, and obtain the demand analysis data of the IT development project document to be predicted;
    根据预设的关键词集合在所述需求分析数据中提取对应的工序信息,以组成工序信息集合;其中,每一工序信息包括工序名称、工序序号、工序所需时间;Extract corresponding process information from the demand analysis data according to a preset keyword set to form a process information set; wherein, each process information includes process name, process serial number, and process required time;
    将所述工序信息集合中每一工序分配一个初始优先权值,以得到初始权重工序信息集合;其中,每一初始优先权值的取值范围为[0,1];Assign an initial priority value to each process in the process information set to obtain an initial weighted process information set; wherein, the value range of each initial priority value is [0,1];
    通过蝙蝠算法获取初始权重工序信息集合中每一工序的最优蝙蝠位置,以更新初始权重工序信息集合得到当前权重工序信息集合;Obtain the optimal bat position of each process in the initial weighted process information set through the bat algorithm to update the initial weighted process information set to obtain the current weighted process information set;
    通过串行调度对所述当前权重工序信息集合进行解码,以得到所述待预测IT开发项目文件对应的最小项目工期;以及Decode the current weighted process information set through serial scheduling to obtain the minimum project duration corresponding to the IT development project file to be predicted; and
    将所述待预测IT开发项目文件对应的最小项目工期发送至用户端。The minimum project duration corresponding to the IT development project file to be predicted is sent to the user terminal.
  2. 根据权利要求1所述的资源受限项目调度方法,其中,所述关键词集合包括产品特性、产品结构、状态说明;The resource-constrained project scheduling method according to claim 1, wherein the keyword set includes product characteristics, product structure, and status description;
    所述根据预设的关键词集合在所述需求分析数据中提取对应的工序信息,以组成工序信息集合,包括:The extracting corresponding process information from the demand analysis data according to a preset keyword set to form a process information set includes:
    在所述需求分析数据中检索并定位与所述关键词集合包括相同关键的目标数据内容;Retrieve and locate the target data content with the same key as the keyword set in the demand analysis data;
    获取所述目标数据内容中包括的工序信息,以组成工序信息集合。The process information included in the content of the target data is acquired to form a process information set.
  3. 根据权利要求1所述的资源受限项目调度方法,其中,所述通过蝙蝠算法获取初始权重工序信息集合中每一工序的最优蝙蝠位置,以更新初始权重工序信息集合得到当前权重工序信息集合,包括:The resource-constrained project scheduling method according to claim 1, wherein the optimal bat position of each process in the initial weighted process information set is obtained by the bat algorithm to update the initial weighted process information set to obtain the current weighted process information set ,include:
    以初始权重工序信息集合中每一点的初始优先权值作为初始蝙蝠位置;Use the initial priority value of each point in the initial weight process information set as the initial bat position;
    根据蝙蝠算法获取最优蝙蝠位置,通过所述最优蝙蝠位置对初始权重工序信息集合中每一点的初始优先权值更新为当前优先权值,以得到当前权重工序信息集合。The optimal bat position is obtained according to the bat algorithm, and the initial priority value of each point in the initial weighted procedure information set is updated to the current priority value through the optimal bat position to obtain the current weighted procedure information set.
  4. 根据权利要求3所述的资源受限项目调度方法,其中,所述根据蝙蝠算 法获取最优蝙蝠位置,包括:The resource-constrained project scheduling method according to claim 3, wherein the obtaining the optimal bat position according to the bat algorithm comprises:
    将所述初始权重工序信息集合中每一点对应的初始蝙蝠位置作为蝙蝠算法中各蝙蝠的初始位置,根据初始化设置的最大脉冲音量、最大脉冲率、搜索脉冲频率范围、音量的衰减系数、搜索频率的增强系数、搜索精度及各蝙蝠的初始位置在蝙蝠算法中进行迭代,直至获取每一点对应的最优蝙蝠位置。The initial bat position corresponding to each point in the initial weighting process information set is taken as the initial position of each bat in the bat algorithm, and the maximum pulse volume, maximum pulse rate, search pulse frequency range, volume attenuation coefficient, and search frequency are set according to the initialization. The enhancement coefficient, search accuracy and the initial position of each bat are iterated in the bat algorithm until the optimal bat position corresponding to each point is obtained.
  5. 根据权利要求1所述的资源受限项目调度方法,其中,所述通过串行调度对所述当前权重工序信息集合进行解码,以得到所述待预测IT开发项目文件对应的最小项目工期,包括:The resource-constrained project scheduling method according to claim 1, wherein the decoding of the current weighted process information set through serial scheduling to obtain the minimum project duration corresponding to the to-be-predicted IT development project file includes :
    对资源列表进行初始化操作;其中,将调度序号进行初始化赋值为1;Initialize the resource list; among them, initialize the scheduling sequence number to 1;
    提取当前权重工序信息集合中当前工序序号,并将提取到的当前工序序号赋予调度序号;Extract the current process sequence number in the current weighted process information set, and assign the extracted current process sequence number to the scheduling sequence number;
    根据调度序号在所述需求分析数据中获取与调度序号对应的前序工序,及前序工序对应的最迟结束工序时间,以作为调度序号对应的最早起始时间;Obtain, from the demand analysis data according to the scheduling sequence number, the preamble process corresponding to the scheduling sequence number and the latest end process time corresponding to the preamble process as the earliest start time corresponding to the scheduling sequence number;
    判断调度序号对应的当前工序所需资源是否达到资源列表的资源上限阈值;Determine whether the resources required by the current process corresponding to the scheduling sequence number reach the upper limit threshold of the resource list;
    若调度序号对应的当前工序所需资源达到资源列表的资源上限阈值,根据当前工序所需时间、及调度序号对应的最早起始时间,计算获取调度序号对应的结束时间;If the resources required by the current process corresponding to the scheduling sequence number reach the resource upper limit threshold of the resource list, calculate and obtain the end time corresponding to the scheduling sequence number according to the time required for the current process and the earliest start time corresponding to the scheduling sequence number;
    判断调度序号是否小于所述需求分析数据中的工序总数;若调度序号小于所述需求分析数据中的工序总数,执行将调度序号自增1以得到更新后的调度序号的步骤;若调度序号大于或等于所述需求分析数据中的工序总数,执行根据当前的调度序号对应的结束时间、及根据调度序号为1对应的最早起始时间之差作为项目最小工期的步骤;Determine whether the scheduling sequence number is less than the total number of processes in the demand analysis data; if the scheduling sequence number is less than the total number of processes in the demand analysis data, perform the step of incrementing the scheduling sequence number by 1 to obtain the updated scheduling sequence number; if the scheduling sequence number is greater than Or equal to the total number of processes in the demand analysis data, and execute the step of taking the difference between the end time corresponding to the current scheduling sequence number and the earliest starting time corresponding to the scheduling sequence number 1 as the minimum project duration;
    将调度序号自增1以得到更新后的调度序号,返回执行根据调度序号在所述需求分析数据中获取与调度序号对应的前序工序,及前序工序对应的最迟结束工序时间,以作为调度序号对应的最早起始时间的步骤;Increment the scheduling sequence number by 1 to obtain the updated scheduling sequence number, and return to the execution to obtain the preceding process corresponding to the scheduling sequence number in the demand analysis data according to the scheduling sequence number, and the latest end process time corresponding to the preceding process as The step of the earliest start time corresponding to the scheduling sequence number;
    根据当前的调度序号对应的结束时间、及根据调度序号为1对应的最早起始时间之差作为项目最小工期。The difference between the end time corresponding to the current scheduling sequence number and the earliest start time corresponding to the scheduling sequence number 1 is used as the minimum project duration.
  6. 根据权利要求5所述的资源受限项目调度方法,其中,所述判断调度序号对应的当前工序所需资源是否达到资源列表的资源上限阈值之后,还包括:The method for scheduling resource-constrained projects according to claim 5, wherein after determining whether the resource required by the current process corresponding to the scheduling sequence number reaches the upper resource threshold of the resource list, the method further comprises:
    若调度序号对应的当前工序所需资源未达到资源列表的资源上限阈值,将 调度序号对应的最早起始时间延期一天得到调度序号对应的更新后起始时间,并根据调度序号对应的更新后起始时间对当前工序所需资源进行更新,以得到更新后的当前工序所需资源,返回执行判断调度序号对应的当前工序所需资源是否达到资源列表的资源上限阈值的步骤。If the resources required by the current process corresponding to the scheduling sequence number do not reach the resource upper limit threshold of the resource list, the earliest start time corresponding to the scheduling sequence number is postponed by one day to obtain the updated starting time corresponding to the scheduling sequence number, and the update starts according to the corresponding scheduling sequence number The start time updates the resources required by the current process to obtain the updated resources required by the current process, and returns to the step of judging whether the resources required by the current process corresponding to the scheduling sequence number reach the resource upper limit threshold of the resource list.
  7. 根据权利要求1所述的资源受限项目调度方法,其中,所述获取待预测IT开发项目文件的需求分析数据,包括:The resource-constrained project scheduling method according to claim 1, wherein said obtaining the demand analysis data of the IT development project document to be predicted comprises:
    通过定位IT开发项目文件的第一级标题名称对应的页码范围,以获取需求分析数据。By locating the page number range corresponding to the first-level title name of the IT development project file, the demand analysis data can be obtained.
  8. 根据权利要求2所述的资源受限项目调度方法,其中,所述获取所述目标数据内容中包括的工序信息,以组成工序信息集合,包括:The resource-constrained project scheduling method according to claim 2, wherein said acquiring process information included in said target data content to form a process information set comprises:
    获取各工序在所述需求分析数据中的定位位置,并提取各工序的定位位置之后对应的工序名称和工序所需时间,根据所提取到的工序的顺序对各工序进行工序序号的编号。Obtain the location position of each process in the demand analysis data, extract the corresponding process name and process time required after the location location of each process, and number each process according to the sequence of the extracted process.
  9. 一种资源受限项目调度装置,包括:A resource-constrained project scheduling device, including:
    需求数据获取单元,用于接收用户端上传的待预测IT开发项目文件,获取待预测IT开发项目文件的需求分析数据;The demand data acquisition unit is used to receive the IT development project file to be predicted uploaded by the client, and obtain the demand analysis data of the IT development project file to be predicted;
    工序信息获取单元,用于根据预设的关键词集合在所述需求分析数据中提取对应的工序信息,以组成工序信息集合;其中,每一工序信息包括工序名称、工序序号、工序所需时间;The process information acquisition unit is used to extract corresponding process information from the demand analysis data according to a preset keyword set to form a process information set; wherein each process information includes process name, process number, and process time required ;
    初始权重集合获取单元,用于将所述工序信息集合中每一工序分配一个初始优先权值,以得到初始权重工序信息集合;其中,每一初始优先权值的取值范围为[0,1];The initial weight set obtaining unit is used to assign an initial priority value to each process in the process information set to obtain the initial weight process information set; wherein, the value range of each initial priority value is [0,1 ];
    当前权重集合获取单元,用于通过蝙蝠算法获取初始权重工序信息集合中每一工序的最优蝙蝠位置,以更新初始权重工序信息集合得到当前权重工序信息集合;The current weight set acquisition unit is used to obtain the optimal bat position of each process in the initial weight process information set through the bat algorithm, so as to update the initial weight process information set to obtain the current weight process information set;
    最小项目工期获取单元,用于通过串行调度对所述当前权重工序信息集合进行解码,以得到所述待预测IT开发项目文件对应的最小项目工期;以及The minimum project duration obtaining unit is configured to decode the current weighted process information set through serial scheduling to obtain the minimum project duration corresponding to the IT development project document to be predicted; and
    工期信息发送单元,用于将所述待预测IT开发项目文件对应的最小项目工期发送至用户端。The construction period information sending unit is used to send the minimum project construction period corresponding to the IT development project document to be predicted to the user terminal.
  10. 根据权利要求9所述的资源受限项目调度装置,其中,所述当前权重集 合获取单元,包括:The resource-constrained project scheduling device according to claim 9, wherein the current weight set acquisition unit comprises:
    初始蝙蝠位置获取单元,用于以初始权重工序信息集合中每一点的初始优先权值作为初始蝙蝠位置;The initial bat position acquisition unit is configured to use the initial priority value of each point in the initial weighting process information set as the initial bat position;
    迭代单元,用于根据蝙蝠算法获取最优蝙蝠位置,通过所述最优蝙蝠位置对初始权重工序信息集合中每一点的初始优先权值更新为当前优先权值,以得到当前权重工序信息集合。The iterative unit is used to obtain the optimal bat position according to the bat algorithm, and update the initial priority value of each point in the initial weighted procedure information set to the current priority value through the optimal bat position to obtain the current weighted procedure information set.
  11. 一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:A computer device includes a memory, a processor, and a computer program that is stored on the memory and can run on the processor, and the processor implements the following steps when the processor executes the computer program:
    接收用户端上传的待预测IT开发项目文件,获取待预测IT开发项目文件的需求分析数据;Receive the IT development project document to be predicted uploaded by the client, and obtain the demand analysis data of the IT development project document to be predicted;
    根据预设的关键词集合在所述需求分析数据中提取对应的工序信息,以组成工序信息集合;其中,每一工序信息包括工序名称、工序序号、工序所需时间;Extract corresponding process information from the demand analysis data according to a preset keyword set to form a process information set; wherein, each process information includes process name, process serial number, and process required time;
    将所述工序信息集合中每一工序分配一个初始优先权值,以得到初始权重工序信息集合;其中,每一初始优先权值的取值范围为[0,1];Assign an initial priority value to each process in the process information set to obtain an initial weighted process information set; wherein, the value range of each initial priority value is [0,1];
    通过蝙蝠算法获取初始权重工序信息集合中每一工序的最优蝙蝠位置,以更新初始权重工序信息集合得到当前权重工序信息集合;Obtain the optimal bat position of each process in the initial weighted process information set through the bat algorithm to update the initial weighted process information set to obtain the current weighted process information set;
    通过串行调度对所述当前权重工序信息集合进行解码,以得到所述待预测IT开发项目文件对应的最小项目工期;以及Decode the current weighted process information set through serial scheduling to obtain the minimum project duration corresponding to the IT development project file to be predicted; and
    将所述待预测IT开发项目文件对应的最小项目工期发送至用户端。The minimum project duration corresponding to the IT development project file to be predicted is sent to the user terminal.
  12. 根据权利要求11所述的计算机设备,其中,所述关键词集合包括产品特性、产品结构、状态说明;The computer device according to claim 11, wherein the keyword set includes product characteristics, product structure, and status descriptions;
    所述根据预设的关键词集合在所述需求分析数据中提取对应的工序信息,以组成工序信息集合,包括:The extracting corresponding process information from the demand analysis data according to a preset keyword set to form a process information set includes:
    在所述需求分析数据中检索并定位与所述关键词集合包括相同关键的目标数据内容;Retrieve and locate the target data content with the same key as the keyword set in the demand analysis data;
    获取所述目标数据内容中包括的工序信息,以组成工序信息集合。The process information included in the content of the target data is acquired to form a process information set.
  13. 根据权利要求11所述的计算机设备,其中,所述通过蝙蝠算法获取初始权重工序信息集合中每一工序的最优蝙蝠位置,以更新初始权重工序信息集 合得到当前权重工序信息集合,包括:The computer device according to claim 11, wherein the obtaining the optimal bat position of each process in the initial weighting process information set by the bat algorithm to update the initial weighting process information set to obtain the current weighting process information set comprises:
    以初始权重工序信息集合中每一点的初始优先权值作为初始蝙蝠位置;Use the initial priority value of each point in the initial weight process information set as the initial bat position;
    根据蝙蝠算法获取最优蝙蝠位置,通过所述最优蝙蝠位置对初始权重工序信息集合中每一点的初始优先权值更新为当前优先权值,以得到当前权重工序信息集合。The optimal bat position is obtained according to the bat algorithm, and the initial priority value of each point in the initial weighted procedure information set is updated to the current priority value through the optimal bat position to obtain the current weighted procedure information set.
  14. 根据权利要求13所述的计算机设备,其中,所述根据蝙蝠算法获取最优蝙蝠位置,包括:The computer device according to claim 13, wherein said obtaining the optimal bat position according to the bat algorithm comprises:
    将所述初始权重工序信息集合中每一点对应的初始蝙蝠位置作为蝙蝠算法中各蝙蝠的初始位置,根据初始化设置的最大脉冲音量、最大脉冲率、搜索脉冲频率范围、音量的衰减系数、搜索频率的增强系数、搜索精度及各蝙蝠的初始位置在蝙蝠算法中进行迭代,直至获取每一点对应的最优蝙蝠位置。The initial bat position corresponding to each point in the initial weighting process information set is taken as the initial position of each bat in the bat algorithm, and the maximum pulse volume, maximum pulse rate, search pulse frequency range, volume attenuation coefficient, and search frequency are set according to the initialization. The enhancement coefficient, search accuracy and the initial position of each bat are iterated in the bat algorithm until the optimal bat position corresponding to each point is obtained.
  15. 根据权利要求11所述的计算机设备,其中,所述通过串行调度对所述当前权重工序信息集合进行解码,以得到所述待预测IT开发项目文件对应的最小项目工期,包括:11. The computer device according to claim 11, wherein said decoding said current weighted process information set through serial scheduling to obtain said minimum project duration corresponding to said IT development project file to be predicted comprises:
    对资源列表进行初始化操作;其中,将调度序号进行初始化赋值为1;Initialize the resource list; among them, initialize the scheduling sequence number to 1;
    提取当前权重工序信息集合中当前工序序号,并将提取到的当前工序序号赋予调度序号;Extract the current process sequence number in the current weighted process information set, and assign the extracted current process sequence number to the scheduling sequence number;
    根据调度序号在所述需求分析数据中获取与调度序号对应的前序工序,及前序工序对应的最迟结束工序时间,以作为调度序号对应的最早起始时间;Obtain, from the demand analysis data according to the scheduling sequence number, the preamble process corresponding to the scheduling sequence number and the latest end process time corresponding to the preamble process as the earliest start time corresponding to the scheduling sequence number;
    判断调度序号对应的当前工序所需资源是否达到资源列表的资源上限阈值;Determine whether the resources required by the current process corresponding to the scheduling sequence number reach the upper limit threshold of the resource list;
    若调度序号对应的当前工序所需资源达到资源列表的资源上限阈值,根据当前工序所需时间、及调度序号对应的最早起始时间,计算获取调度序号对应的结束时间;If the resources required by the current process corresponding to the scheduling sequence number reach the resource upper limit threshold of the resource list, calculate and obtain the end time corresponding to the scheduling sequence number according to the time required for the current process and the earliest start time corresponding to the scheduling sequence number;
    判断调度序号是否小于所述需求分析数据中的工序总数;若调度序号小于所述需求分析数据中的工序总数,执行将调度序号自增1以得到更新后的调度序号的步骤;若调度序号大于或等于所述需求分析数据中的工序总数,执行根据当前的调度序号对应的结束时间、及根据调度序号为1对应的最早起始时间之差作为项目最小工期的步骤;Determine whether the scheduling sequence number is less than the total number of processes in the demand analysis data; if the scheduling sequence number is less than the total number of processes in the demand analysis data, perform the step of incrementing the scheduling sequence number by 1 to obtain the updated scheduling sequence number; if the scheduling sequence number is greater than Or equal to the total number of processes in the demand analysis data, and execute the step of taking the difference between the end time corresponding to the current scheduling sequence number and the earliest starting time corresponding to the scheduling sequence number 1 as the minimum project duration;
    将调度序号自增1以得到更新后的调度序号,返回执行根据调度序号在所述需求分析数据中获取与调度序号对应的前序工序,及前序工序对应的最迟结 束工序时间,以作为调度序号对应的最早起始时间的步骤;Increment the scheduling sequence number by 1 to obtain the updated scheduling sequence number, and return to the execution to obtain the preceding process corresponding to the scheduling sequence number in the demand analysis data according to the scheduling sequence number, and the latest end process time corresponding to the preceding process as The step of the earliest start time corresponding to the scheduling sequence number;
    根据当前的调度序号对应的结束时间、及根据调度序号为1对应的最早起始时间之差作为项目最小工期。The difference between the end time corresponding to the current scheduling sequence number and the earliest start time corresponding to the scheduling sequence number 1 is used as the minimum project duration.
  16. 根据权利要求15所述的计算机设备,其中,所述判断调度序号对应的当前工序所需资源是否达到资源列表的资源上限阈值之后,还包括:The computer device according to claim 15, wherein after the determining whether the resource required by the current process corresponding to the scheduling sequence number reaches the upper resource threshold of the resource list, the method further comprises:
    若调度序号对应的当前工序所需资源未达到资源列表的资源上限阈值,将调度序号对应的最早起始时间延期一天得到调度序号对应的更新后起始时间,并根据调度序号对应的更新后起始时间对当前工序所需资源进行更新,以得到更新后的当前工序所需资源,返回执行判断调度序号对应的当前工序所需资源是否达到资源列表的资源上限阈值的步骤。If the resources required by the current process corresponding to the scheduling sequence number do not reach the resource upper limit threshold of the resource list, the earliest start time corresponding to the scheduling sequence number is postponed by one day to obtain the updated starting time corresponding to the scheduling sequence number, and the update starts according to the corresponding scheduling sequence number The start time updates the resources required by the current process to obtain the updated resources required by the current process, and returns to the step of judging whether the resources required by the current process corresponding to the scheduling sequence number reach the resource upper limit threshold of the resource list.
  17. 根据权利要求11所述的计算机设备,其中,所述获取待预测IT开发项目文件的需求分析数据,包括:The computer device according to claim 11, wherein said obtaining the demand analysis data of the IT development project file to be predicted comprises:
    通过定位IT开发项目文件的第一级标题名称对应的页码范围,以获取需求分析数据。By locating the page number range corresponding to the first-level title name of the IT development project file, the demand analysis data can be obtained.
  18. 根据权利要求12所述的计算机设备,其中,所述获取所述目标数据内容中包括的工序信息,以组成工序信息集合,包括:The computer device according to claim 12, wherein said acquiring process information included in said target data content to form a process information set comprises:
    获取各工序在所述需求分析数据中的定位位置,并提取各工序的定位位置之后对应的工序名称和工序所需时间,根据所提取到的工序的顺序对各工序进行工序序号的编号。Obtain the location position of each process in the demand analysis data, extract the corresponding process name and process time required after the location location of each process, and number each process according to the sequence of the extracted process.
  19. 一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序当被处理器执行时使所述处理器执行以下操作:A computer-readable storage medium that stores a computer program that, when executed by a processor, causes the processor to perform the following operations:
    接收用户端上传的待预测IT开发项目文件,获取待预测IT开发项目文件的需求分析数据;Receive the IT development project document to be predicted uploaded by the client, and obtain the demand analysis data of the IT development project document to be predicted;
    根据预设的关键词集合在所述需求分析数据中提取对应的工序信息,以组成工序信息集合;其中,每一工序信息包括工序名称、工序序号、工序所需时间;Extract corresponding process information from the demand analysis data according to a preset keyword set to form a process information set; wherein, each process information includes process name, process serial number, and process required time;
    将所述工序信息集合中每一工序分配一个初始优先权值,以得到初始权重工序信息集合;其中,每一初始优先权值的取值范围为[0,1];Assign an initial priority value to each process in the process information set to obtain an initial weighted process information set; wherein, the value range of each initial priority value is [0,1];
    通过蝙蝠算法获取初始权重工序信息集合中每一工序的最优蝙蝠位置,以更新初始权重工序信息集合得到当前权重工序信息集合;Obtain the optimal bat position of each process in the initial weighted process information set through the bat algorithm to update the initial weighted process information set to obtain the current weighted process information set;
    通过串行调度对所述当前权重工序信息集合进行解码,以得到所述待预测IT开发项目文件对应的最小项目工期;以及Decode the current weighted process information set through serial scheduling to obtain the minimum project duration corresponding to the IT development project file to be predicted; and
    将所述待预测IT开发项目文件对应的最小项目工期发送至用户端。The minimum project duration corresponding to the IT development project file to be predicted is sent to the user terminal.
  20. 根据权利要求19所述的计算机可读存储介质,其中,所述关键词集合包括产品特性、产品结构、状态说明;The computer-readable storage medium according to claim 19, wherein the keyword set includes product characteristics, product structure, and status descriptions;
    所述根据预设的关键词集合在所述需求分析数据中提取对应的工序信息,以组成工序信息集合,包括:The extracting corresponding process information from the demand analysis data according to a preset keyword set to form a process information set includes:
    在所述需求分析数据中检索并定位与所述关键词集合包括相同关键的目标数据内容;Retrieve and locate the target data content with the same key as the keyword set in the demand analysis data;
    获取所述目标数据内容中包括的工序信息,以组成工序信息集合。The process information included in the content of the target data is acquired to form a process information set.
PCT/CN2019/118398 2019-10-12 2019-11-14 Resource-constrained project scheduling method and apparatus, and computer device and storage medium WO2021068350A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201910969189.8 2019-10-12
CN201910969189.8A CN111105066B (en) 2019-10-12 2019-10-12 Resource-constrained project scheduling method, device, computer equipment and storage medium

Publications (1)

Publication Number Publication Date
WO2021068350A1 true WO2021068350A1 (en) 2021-04-15

Family

ID=70421457

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2019/118398 WO2021068350A1 (en) 2019-10-12 2019-11-14 Resource-constrained project scheduling method and apparatus, and computer device and storage medium

Country Status (2)

Country Link
CN (1) CN111105066B (en)
WO (1) WO2021068350A1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113723867A (en) * 2021-05-21 2021-11-30 深圳市海柔创新科技有限公司 Method, apparatus, device, storage medium and program product for resource allocation
CN113762811A (en) * 2021-11-08 2021-12-07 武汉科技大学 Method and system for solving non-stalled Job Shop scheduling problem considering overtime
CN114358234A (en) * 2021-12-16 2022-04-15 西北大学 Cloud platform resource scheduling method based on improved bat algorithm

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112926844A (en) * 2021-02-08 2021-06-08 中车广东轨道交通车辆有限公司 Assembly line scheduling method, terminal and computer readable storage medium

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103685492A (en) * 2013-12-03 2014-03-26 北京智谷睿拓技术服务有限公司 Dispatching method, dispatching device and application of Hadoop trunking system
CN105976298A (en) * 2016-06-02 2016-09-28 广东工业大学 Logistics transport scheduling method based on discrete bat algorithm
CN108416421A (en) * 2018-03-09 2018-08-17 大连大学 The dynamic Algorithm of Firepower Allocation of bat algorithm is improved based on DDE
CN109190857A (en) * 2018-10-30 2019-01-11 武汉大学 A kind of optimization algorithm based on multiple target Resource-constrained Project Scheduling Problem model
CN109445386A (en) * 2018-10-23 2019-03-08 浙江工业大学 A kind of most short production time dispatching method of the cloud manufacturing operation based on ONBA
US20190156229A1 (en) * 2017-11-17 2019-05-23 SigOpt, Inc. Systems and methods implementing an intelligent machine learning tuning system providing multiple tuned hyperparameter solutions

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101145219A (en) * 2007-07-20 2008-03-19 周远成 Subsystem for executing resource configuration using genetic algorithm
CN104794000B (en) * 2014-01-22 2018-02-23 深圳市沃信科技有限公司 A kind of job scheduling method and system
CN104268722B (en) * 2014-10-20 2017-08-22 南京信息工程大学 Dynamic flexible job-shop scheduling method based on multi-objective Evolutionary Algorithm
US10083412B2 (en) * 2015-05-14 2018-09-25 Atlassian Pty Ltd Systems and methods for scheduling work items
CN108694077B (en) * 2017-04-10 2022-02-01 郑州芯兰德网络科技有限公司 Distributed system task scheduling method based on improved binary system bat algorithm
CN109872049B (en) * 2019-01-23 2021-06-25 北京航空航天大学 Resource allocation optimization method and device

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103685492A (en) * 2013-12-03 2014-03-26 北京智谷睿拓技术服务有限公司 Dispatching method, dispatching device and application of Hadoop trunking system
CN105976298A (en) * 2016-06-02 2016-09-28 广东工业大学 Logistics transport scheduling method based on discrete bat algorithm
US20190156229A1 (en) * 2017-11-17 2019-05-23 SigOpt, Inc. Systems and methods implementing an intelligent machine learning tuning system providing multiple tuned hyperparameter solutions
CN108416421A (en) * 2018-03-09 2018-08-17 大连大学 The dynamic Algorithm of Firepower Allocation of bat algorithm is improved based on DDE
CN109445386A (en) * 2018-10-23 2019-03-08 浙江工业大学 A kind of most short production time dispatching method of the cloud manufacturing operation based on ONBA
CN109190857A (en) * 2018-10-30 2019-01-11 武汉大学 A kind of optimization algorithm based on multiple target Resource-constrained Project Scheduling Problem model

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113723867A (en) * 2021-05-21 2021-11-30 深圳市海柔创新科技有限公司 Method, apparatus, device, storage medium and program product for resource allocation
CN113723867B (en) * 2021-05-21 2024-04-26 深圳市海柔创新科技有限公司 Method, apparatus, device, storage medium and program product for resource allocation
CN113762811A (en) * 2021-11-08 2021-12-07 武汉科技大学 Method and system for solving non-stalled Job Shop scheduling problem considering overtime
CN113762811B (en) * 2021-11-08 2022-02-08 武汉科技大学 Method and system for solving non-stalled Job Shop scheduling problem considering overtime
CN114358234A (en) * 2021-12-16 2022-04-15 西北大学 Cloud platform resource scheduling method based on improved bat algorithm
CN114358234B (en) * 2021-12-16 2023-12-01 西北大学 Resource scheduling method of cloud platform based on improved bat algorithm

Also Published As

Publication number Publication date
CN111105066B (en) 2023-07-07
CN111105066A (en) 2020-05-05

Similar Documents

Publication Publication Date Title
WO2021068350A1 (en) Resource-constrained project scheduling method and apparatus, and computer device and storage medium
US10817513B2 (en) Fair scheduling for mixed-query loads
US11523288B2 (en) Data analysis apparatus, system, and method
KR101242954B1 (en) Using priority to determine whether to queue an input/output(i/o) request directed to storage
US9652538B2 (en) Web crawler optimization system
WO2022252456A1 (en) Task scheduling method and apparatus, electronic device, and readable storage medium
WO2015158149A1 (en) Method and device for forecasting changes of feature information
EP2989543A1 (en) Method and device for updating client
JP6129290B1 (en) Method and system for recommending application parameter settings and system specification settings in distributed computing
CN111343288B (en) Job scheduling method and system and computing device
US10642585B1 (en) Enhancing API service schemes
Tang et al. Dependent task offloading for multiple jobs in edge computing
CN110784336A (en) Multi-device intelligent timing delay scene setting method and system based on Internet of things
EP1974270A2 (en) Method for autonomic system management using adaptive allocation of resources
WO2021212965A1 (en) Resource scheduling method and related device
CN108900865B (en) Server, and scheduling method and execution method of transcoding task
US10637919B2 (en) Autonomous resource governor in distributed systems for protecting shared resources
CN113225263B (en) Flow request processing method and device and network chip
CN111258729B (en) Redis-based task allocation method and device, computer equipment and storage medium
US11599583B2 (en) Deep pagination system
CN112540836A (en) Service scheduling management method and system
WO2015067032A1 (en) Optimized scheduling method and management device
WO2019217125A1 (en) Dynamic, load balanced task routing
CN113993148B (en) 5G network slice disaster recovery switching method and device based on machine learning
CN110430264B (en) Data reading method in cloud computing

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 19948564

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19948564

Country of ref document: EP

Kind code of ref document: A1