WO2016203531A1 - 計画業務支援システムおよび計画業務支援方法 - Google Patents

計画業務支援システムおよび計画業務支援方法 Download PDF

Info

Publication number
WO2016203531A1
WO2016203531A1 PCT/JP2015/067208 JP2015067208W WO2016203531A1 WO 2016203531 A1 WO2016203531 A1 WO 2016203531A1 JP 2015067208 W JP2015067208 W JP 2015067208W WO 2016203531 A1 WO2016203531 A1 WO 2016203531A1
Authority
WO
WIPO (PCT)
Prior art keywords
solution
plan information
plan
bit
value
Prior art date
Application number
PCT/JP2015/067208
Other languages
English (en)
French (fr)
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 株式会社日立製作所
Priority to PCT/JP2015/067208 priority Critical patent/WO2016203531A1/ja
Priority to JP2017524167A priority patent/JP6440840B2/ja
Publication of WO2016203531A1 publication Critical patent/WO2016203531A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N99/00Subject matter not provided for in other groups of this subclass
    • 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
    • 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
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/40Business processes related to the transportation industry

Definitions

  • the present invention relates to a planned work support system and a planned work support method.
  • Optimized problem is a model used to find a mathematical solution to a problem constrained by real constraints.
  • the 0-1 integer programming problem that finds a variable to be a solution as a Boolean value can be applied to an allocation plan that determines the allocation relationship between a task and a worker. With application fields.
  • the 0-1 integer programming problem that determines whether there is a solution that satisfies the constraint condition is one of representative examples of NP complete problems that cannot be solved in polynomial time. For this reason, many studies have been made to solve problems with relaxation conditions peculiar to application fields and to seek approximate solutions that are close to optimal solutions. Common solutions for finding the optimal solution for integer programming problems include the simplex method and the brute force method. Heuristics that find approximate solutions are also used for problems where optimization techniques are difficult to apply.
  • a route candidate generating means for generating a candidate for an operation route of a crew member for the operation adjustment diagram based on a given operation adjustment diagram, and selection of the operation route candidate for each of the generated operation route candidates is “1”.
  • "0" or "0” as a variable represented by a value of 0 or more and 1 or less so that the sum of the variables of operation route candidates related to the crew is 1 or more for each crew of all trains constituting the operation scheduling diagram.
  • a first model expression expressed and a second model expression expressed so that a sum of variables of operation route candidates related to the crew of each crew member is 1 for each crew member.
  • a solution calculating means for calculating the value of each of the variables for which the model formula is satisfied, and the operational route candidate when all the values of the variables calculated by the solution calculating means are integers.
  • Appropriateness of each of a plurality of evaluation indicators with provisional operation arrangement plan acquisition means for acquiring a combination as a provisional operation arrangement plan and evaluation values when the operation route candidates are matched with the conditions for matching the evaluation indicators.
  • An evaluation process for evaluating an operation route candidate by determining and calculating an evaluation value for the generated operation route candidate and an interim operation arrangement plan acquired by the provisional operation arrangement plan acquisition unit Total evaluation value calculating means for calculating a value obtained by accumulating the value of the variable of each operational route candidate and the evaluation value of the operational route candidate calculated by the evaluation means as a total evaluation value for the provisional operational arrangement plan;
  • An operation arrangement plan creation device comprising: a repetitive control means for repeatedly executing the processing by the solution calculation means and the provisional operation arrangement plan acquisition means (Patent Document 1) Irradiation), and the like have been proposed.
  • an object of the present invention is to provide a technique for speeding up the solution processing of a planning problem and efficiently obtaining a solution with better accuracy than before.
  • the planned work support system of the present invention that solves the above-mentioned problem is a combination of a predetermined number of variables based on the number of resources to be assigned to events, a predetermined set of variables according to the number of events, and a plurality of resources for a plurality of events
  • a storage device for storing plan information indicating each allocation state of the bit string, and a violation event for a predetermined constraint condition in the plan information, each bit corresponding to the same resource between the bit string of each variable and the variable,
  • a predetermined logical operation with a predetermined value is performed to identify multiple allocation and non-allocation of resources, and a bit sequence of the corresponding variable in the plan information is changed by a predetermined algorithm in order to eliminate the violation event, and a solution candidate And the solution candidate and the plan information are replaced to eliminate the violation event and to create the solution candidate Characterized in that it comprises a computing device for generating an output plan information by repeating.
  • the planned work support method of the present invention combines a predetermined number of variables, which are bit strings based on the number of resources to be allocated to events, in a predetermined set according to the number of events, and allocates a plurality of resources to a plurality of events.
  • An information processing system including a storage device that stores plan information indicating a state of the bit string corresponds to a violation event of a predetermined constraint condition in the plan information corresponding to the bit string of each variable and the same resource between the variables.
  • a predetermined logical operation with a predetermined value is performed to identify multiple allocation and non-allocation of resources, and the bit string of the corresponding variable in the plan information is changed by a predetermined algorithm to eliminate the corresponding violation event
  • a predetermined algorithm to eliminate the corresponding violation event
  • 1 is a network configuration diagram including a planned work support system of a first embodiment. It is a figure which shows the hardware structural example of the automatic proposal subsystem in 1st Embodiment. It is a figure which shows the hardware structural example of the data server of 1st Embodiment. It is a figure explaining the data structure of the plan information in 1st Embodiment. It is a flowchart which shows the procedure example 1 of the plan operation assistance method of 1st Embodiment. It is a flowchart which shows the procedure example 2 of the plan operation assistance method of 1st Embodiment. It is a figure which shows the output screen example 1 in 1st Embodiment. It is a figure which shows the example 2 of an output screen in 1st Embodiment.
  • FIG. 1 is a diagram showing a network configuration example including an automatic proposal subsystem 10 which is a planned work support system of the present embodiment.
  • the planned work support system 10 shown in FIG. 1 is a computer system that speeds up the solution processing of a planning problem and can efficiently obtain a solution with better accuracy than before.
  • Such a planned work support system 10 includes an automatic proposal subsystem 100 and a data server 200.
  • the automatic suggestion subsystem 100 that executes processing independently will be described as the main configuration of the planned work support system 10.
  • the planned work support system 10 is connected to the network 20 and is capable of data communication with the user terminal 300 and the situation change contact machine 400.
  • the automatic suggestion subsystem 100 may hold all data held by the data server 200, and the automatic suggestion subsystem 100 alone may constitute the planned work support system.
  • the above-described user terminal 300 is a computer used by a user who is in charge of planning work in a company or the like.
  • the user terminal 300 accesses the communication devices of the automatic suggestion subsystem 100, the data server 200, and the status change communication device 400, and receives notifications of user instructions and reception and display of processing results for these devices. Process.
  • the situation change communication device 400 is a computer, and senses changes caused by various events and resources to be planned by its own sensor or by notification from other appropriate management devices, etc., and uses a predetermined protocol. Thus, the communication regarding the above-described change is executed to the data server 200 (or the automatic suggestion subsystem 100). Since the situation change communication device 400 is a computer, functions corresponding to such processing are implemented by a program. For example, when a person receives information via a sensor or a network about what kind of problem a person has and what task occurs when the person performs the work according to the initial plan. It can be assumed that the corresponding information is transmitted to the data server 200 and the status information 216 is sequentially updated.
  • FIG. 2 is a diagram illustrating a hardware configuration example of the automatic suggestion subsystem 100 according to the first embodiment.
  • the hardware configuration of the automatic proposal subsystem 100 constituting the planned task support system 10 of the present embodiment is as follows.
  • the automatic proposal subsystem 100 includes a storage device 101 configured with an appropriate nonvolatile storage element such as a hard disk drive, a memory 103 configured with a volatile storage element such as a RAM, and a program 102 held in the storage device 101 in the memory 103.
  • An arithmetic device 104 such as a CPU that performs various determinations, computations, and control processes, and a communication device 105 that is connected to the network 20 and performs communication processing with other devices are performed.
  • the CPU constituting the arithmetic unit 104 includes a register that simultaneously reads, calculates, stores, and outputs a plurality of bits, and performs processing according to a control instruction of a program module arranged in the memory 103.
  • FIG. 3 is a diagram illustrating a hardware configuration example of the data server 200 according to the first embodiment.
  • the hardware configuration of the data server 200 that configures the planned task support system 10 of this embodiment together with the above-described automatic suggestion subsystem 100 is as follows.
  • the data server 200 reads out a storage device 201 composed of an appropriate non-volatile storage element such as a hard disk drive, a memory 203 composed of a volatile storage element such as a RAM, a program 202 held in the storage device 201 to the memory 203, etc.
  • a central processing unit 204 such as a CPU for performing overall control of the system itself and performing various determinations, computations and control processes, and a communication unit 205 connected to the network 20 and responsible for communication processing with other devices.
  • the storage device 201 stores data of a calculation log 215, status information 216, business model 217, plan DB 218, solution candidate DB 219, approval plan 220, and attribute information 221. These data are created and stored in advance by the user, or received and stored by another device connected to the network.
  • the calculation log 215 is a log related to various calculation processes in creating a solution candidate, and is stored in the data server 200 by the automatic suggestion subsystem 100.
  • the status information 216 is information on the event and resource status notified from the status change contact device 400 and the user terminal 300. For example, information such as the operating status of a machine or system in a transportation facility such as a delay or failure, the location of personnel assigned to them, and the status of attendance are supported.
  • the business model 217 is a rule base that defines why a plan change (solution candidate creation) should be performed in a predetermined situation indicated by the situation information 216 described above. This is a set of data indicating (reason for creating a solution candidate), priority (evaluation order of solution candidates), and the like.
  • the initial plan 2180 is an initial plan that satisfies a predetermined constraint regarding the event to be planned.
  • the input plan 2181 is based on the above-mentioned initial plan 2180 content, specifically based on the event indicated by the above-mentioned situation information 216 notified by the situation change contactor 400 and the user terminal 300 and the situation change of the resource. The plan is to change the corresponding bit value.
  • this input plan 2181 does not necessarily satisfy a predetermined constraint condition, the input plan 2181 is somewhat close to the initial plan 2180 described above.
  • a predetermined number of words (chunks) based on the number of resources to be assigned to events is set according to the number of events described above. It becomes information indicating each allocation state of a plurality of resources for a combination and a plurality of events in a bit string.
  • An example of the initial plan 2180 and the input plan 2181 is shown as plan information in FIG.
  • FIG. 4 is a diagram for explaining the data structure of the plan information in the present embodiment.
  • plan information is considered as a solution to the problem of allocating eight tasks (events) to eight workers (resources).
  • the configuration example including 4 bits is shown.
  • the word may include 64 bits, and may be appropriately increased or decreased according to the specification of the computer. .
  • the computer that is, the automatic suggestion subsystem 100, speeds up the processing by performing the multi-bit processing of the plan information having such a configuration by a single logical operation.
  • the solution candidate 2190 in the solution candidate DB 219 is a solution candidate obtained in the solution search process.
  • the solution candidate 2190 that is output from the automatic proposal subsystem 100 to the user terminal 300 and presented to the user terminal is set as a proposal plan 21911.
  • the approval plan 220 in the storage device 201 is the automatic proposal subsystem that receives the proposal plan 2191 that is the solution candidate described above when the user terminal 300 receives an approval instruction for the corresponding proposal plan 2191. 100 creates an approval plan 220 based on the corresponding proposal plan 2191 and stores it in the data server 200.
  • the attribute information 221 is information that defines the attribute of the corresponding event and resource for each bit in the initial plan 2180 and the input plan 2181 described above. For example, a predetermined bit (the XX digit) of a word indexed at a predetermined position in a word arrangement (in the case of FIG. 4, 8 rows ⁇ 2 columns) constituting certain plan information is “personnel A”. The bit corresponds to the presence / absence of the assignment. --- Functional structure --- Subsequently, functions provided in the automatic suggestion subsystem 100 that mainly executes processing in the planned work support system 10 of the present embodiment will be described. As described above, the functions described below can be said to be functions that are implemented, for example, when the automatic suggestion subsystem 100 executes the program 102.
  • the automatic proposal processing unit 110 is responsible for general planning work support processing, and the logical operation processing unit 111 is responsible for logical operations on chunk bit strings, etc. It is assumed that the input / output processing unit 112 is responsible for data input / output with the status change communication device 400.
  • the automatic suggestion subsystem 100 indicates that a violation event of a predetermined constraint condition in the input plan 2181 in the plan DB 218 of the data server 200 is a bit string of each chunk and each bit corresponding to the same resource between the chunks.
  • a predetermined logical operation with respect to a predetermined value is performed to identify multiple allocation and non-allocation of resources, and a bit algorithm of the corresponding chunk in the input plan 2181 is changed by a predetermined algorithm in order to eliminate the corresponding violation event, and a solution candidate 2190 is determined. It has a function of generating a proposal plan 2191 and an approval plan 220 as output plan information by creating and replacing the solution candidate 2190 and the input plan 2181 and repeating the above-described violation event elimination and solution candidate creation processing.
  • the automatic suggestion subsystem 100 determines whether or not a violation event has occurred based on the change tendency of the accumulated value when the logical operation is cumulatively performed on the bit string of the chunk when the above-described multiple allocation and unallocation of the resource are specified. And a function for specifying the position.
  • the automatic proposal subsystem 100 determines that a variable A (chunk) that is to be multiple-assigned when the input plan 2181 includes multiple assignments of resources as a result of specifying the violation event. By replacing the zero-valued variable B (chunk), a solution candidate 2190 having a predetermined number of bits whose value is non-zero is provided.
  • the automatic suggestion subsystem 100 includes the variable C (chunk) having the bit position where unallocation has occurred, A function for creating a solution candidate 2190 is provided by replacing a variable D (chunk) in which only the bit value at the bit position of 1 is 1.
  • the automatic suggestion subsystem 100 performs a predetermined logical operation on at least one of the variable B (chunk) and the variable D (chunk) described above and another variable (chunk) constituting the input plan 2181 to thereby obtain a solution candidate. 2190 is provided.
  • the automatic suggestion subsystem 100 calculates the inner product value of the initial plan 2180 (initial plan) and the solution candidate 2190 of the above-described plan DB 218 and acquires the first evaluation value of the corresponding solution candidate 2190, and the above-described function.
  • a function of obtaining the second evaluation value of the solution candidate 2190 by adding up and summing up the bit values of the exclusive OR of the initial plan 2180 and the solution candidate 2190, and the above-described first evaluation value and second evaluation For at least one of the values, a screen data listing the solution candidates 2190 in the order of the evaluation values is output to a predetermined device such as the user terminal 300.
  • the automatic suggestion subsystem 100 classifies the solution candidates 2190 according to the evaluation value levels based on at least one of the first evaluation value and the second evaluation value described above, and the solution candidates 2190 for each level.
  • a function is further provided that counts the number and updates the screen data of the solution candidate 2190 at the corresponding level when the summed value is equal to or greater than a predetermined value and outputs the screen data to a predetermined device such as the user terminal 300.
  • the automatic suggestion subsystem 100 also has a function of outputting the processing status related to the solution candidate 2190 to a predetermined device such as the user terminal 300. --- Flow example --- Hereinafter, the actual procedure of the planned work support method in the present embodiment will be described with reference to the drawings.
  • Various operations corresponding to the planned work support method described below are realized by a program 102 that is read out and executed by the automatic suggestion subsystem 100 mainly constituting the planned work support system 10 into the memory 103. And this program is comprised from the code
  • FIG. 5 is a flowchart showing a processing procedure example 1 of the planned task support method in the present embodiment, and more specifically, a flowchart showing processing contents by the automatic suggestion subsystem 100.
  • the automatic suggestion subsystem 100 receives a predetermined instruction from the user terminal 300 (301), executes an overall solution search process (302) described later in detail, and obtains a plurality of overall solutions (solution candidates 2190). .
  • the automatic suggestion subsystem 100 uses the plurality of overall solutions obtained in step 302 as the input plan 2181, determines the violation status of the predetermined constraint condition regarding this, and predetermined alarm information regarding the constraint violation location found by the determination Is output to the user terminal 300 (303). In this case, the automatic suggestion subsystem 100 further receives, via the user terminal 300, an alarm selection operation by the user while displaying a plurality of such alarms. Since processing similar to the processing for specifying the constraint violation location by the determination of the constraint violation status is executed in the above-described overall solution search processing (302), it will be described in the explanation of the overall solution search processing described later. .
  • the automatic proposal subsystem 100 performs sequential proposal creation using a pattern for canceling the alarm selected by the user as described above (304).
  • the above-described pattern is information held by the business model 217, and is a rule that defines why the plan change (solution candidate creation) should be performed in the predetermined situation indicated by the situation information 216.
  • This pattern is a set of data indicating the contents of plan change, the reason for proposal (reason for creating a solution candidate), the priority (evaluation order of solution candidates) and the like for each type of situation.
  • the sequential proposals obtained here are a plurality of proposals for solving the warning noticed by the user, and are information such as plan change contents and proposal reasons.
  • the pattern and the constraint condition may be obtained by obtaining a control input from the situation change contact machine 400.
  • the automatic suggestion subsystem 100 sequentially stores such a series of calculation processes on the data server 200 as a calculation log 215.
  • the automatic proposal subsystem 100 matches the sequential proposal content generated in step 304 described above with the overall solution obtained in step 302 described above (305).
  • a part of the plurality of overall solutions includes sequential proposal contents as part of the solution candidates, and the automatic proposal subsystem 100 determines which whole solution contains the sequential proposal contents, and sequentially proposes information.
  • Update For example, character string information indicating a proposal that leads to the Pareto optimal solution is appended to the proposal reason information of the sequential proposal included in the Pareto optimal solution specialized for one of the multiple purposes.
  • the automatic proposal subsystem 100 sequentially outputs the proposal contents together with the input plan 2181 to the user terminal 300 (306).
  • the automatic proposal subsystem 100 accepts the user's proposal selection from the user terminal 300 (307), and does not satisfy a predetermined termination condition (eg, instruction from the user terminal, presence / absence of alarm) at that time (308: n), the above-mentioned input plan 2181 is updated by reflecting the result of the sequential proposal selection (309), and the process returns to step 303. That is, the automatic suggestion subsystem 100 replaces the solution candidate that is the result of changing a part of the input plan 2181 with the input plan 2181 and repeats the processing from step 303 onward.
  • a predetermined termination condition eg, instruction from the user terminal, presence / absence of alarm
  • the automatic suggestion subsystem 100 can sequentially cancel all the alarms interactively with the user by the above-described repeated processing (step 303 to step 308: n to step 309 to step 303). it can. At that time, the automatic suggestion subsystem 100 can sequentially present the reason for the plan change to the user via the user terminal 300, and can support the determination operation of the user.
  • FIG. 6 is a flowchart showing a procedure example 2 of the planned work support method according to the first embodiment. Specifically, FIG. 6 is a flowchart for explaining the processing content of the entire solution search process in step 302 in the flow of FIG. .
  • the automatic suggestion subsystem 100 reads the input plan 2181 as the solution candidate A from the plan DB 218 of the data server 200 (401).
  • This input plan 2181 is plan information in which a part of the initial plan 2180 is changed in accordance with an input from the status change communication device 400 or the user terminal 300. In other words, it corresponds to a plan that may contain a constraint violation.
  • the automatic suggestion subsystem 100 uses the input plan 2181 described above, that is, the solution candidate A, as information about the predetermined event and its allocated resource, for example, the transportation schedule, the operating status of the bases and the traffic machines, and the like.
  • Various data relating to the personnel etc. obtained are obtained from the status information 216 of the data server 200, and for the information obtained here, a crew member who has been in charge of the transportation facility B at a certain base A at the other base C on the next day
  • the presence or absence of violations of personnel movements according to the transportation operation between the bases) is analyzed by a predetermined algorithm (402) so as to meet the crew schedule of the transportation facility D.
  • the automatic suggestion subsystem 100 determines whether the solution candidate A satisfies a predetermined condition based on the analysis result in the above-described step 402 (403). As a result of the determination, if the solution candidate A is not satisfied (403: constraint violation), the automatic suggestion subsystem 100 sets the solution candidate A as an executable solution, and the constraint violation in the chunk in the solution candidate A that is the input plan Predetermined evaluation (described later) such as location identification is performed (404).
  • the automatic suggestion subsystem 100 also applies the corresponding constraint violation event extracted on the basis of a predetermined criterion, such as the head order in the word or chunk arrangement, from the constraint violation locations specified for the solution candidate A in step 404 described above.
  • a plan change plan A (which can be said to be partial information indicating the changed part of the solution candidate A) is created so as to eliminate the violation (405).
  • the creation of the plan change plan A may adopt the process using the pattern already described in step 304 in the flow of FIG. 5. For example, the above-described transportation personnel list is used to obtain the status information of the data server 200.
  • the automatic suggestion subsystem 100 stores the plan change plan A created in step 405 (a new solution candidate that reflects the plan change plan A in the solution candidate A) in the search list in the memory 103. And
  • the automatic suggestion subsystem 100 satisfies the solution candidate A as constraint satisfaction. It is determined that the solution candidate A satisfies the constraint, and the goodness of the solution is evaluated based on the approximation with the initial plan 2180 (described later) (406), and the result is stored in the memory 103 described above. Output to the search list, calculation log 215, and user terminal 300. Further, the automatic suggestion subsystem 100 stores the above constraint satisfaction solution as a solution candidate in the solution candidate DB 219 of the data server 200.
  • the automatic suggestion subsystem 100 performs search order control (407).
  • the automatic suggestion subsystem 100 determines the plan change plan B to be calculated next from among the plurality of plan change plans stored in the search list.
  • the order of extracting plan change proposals from the search list is as follows.
  • the user defines depth-first search as the basic policy of the plan solution, the order in which the number of constraint violations is large or the breadth-first search is the basic of the plan solution.
  • an algorithm that is determined in accordance with an existing search strategy such as the order in which the solution is estimated to be in a shallower place in the solution space may be employed.
  • a so-called pruning method may be employed in which a search direction with a low possibility is excluded early from the search list.
  • the automatic suggestion subsystem 100 creates a solution candidate B by applying the plan change plan A determined in step 407 to the solution candidate A that is an executable solution that has undergone the above step 405 (408).
  • the assignment of a certain person changed from the solution candidate A by applying the plan change plan A means that the state has changed from the original state. Moreover, it will have changed to the state different from the solution candidate C obtained by applying another plan change plan C to the solution candidate A.
  • the search is performed by repeating such state transitions.
  • the search space is regarded as a structure in which solution candidates are arranged in a tree structure, the constraint satisfaction solution becomes a plurality of terminal nodes, and the destination is not searched from the constraint satisfaction solution.
  • the executable solution becomes an intermediate node and a candidate for the next state transition.
  • the automatic suggestion subsystem 100 outputs the calculation process and the calculation status regarding each step up to the above to the calculation log 215 and the user terminal 300 (409).
  • the automatic suggestion subsystem 100 compares predetermined information such as a user operation at the user terminal 300, a timer output for detecting the arrival of a predetermined time, and an input value of a predetermined sensor with a predetermined end condition, and ends the flow. A determination is made (410). If the result of this determination is that the flow is not terminated (410: n), the automatic suggestion subsystem 100 replaces the above solution candidate B and solution candidate A, and repeats the processing from step 402 onward.
  • predetermined information such as a user operation at the user terminal 300, a timer output for detecting the arrival of a predetermined time, and an input value of a predetermined sensor with a predetermined end condition
  • the automatic suggestion subsystem 100 includes a plurality of solution candidates (including constraint satisfaction solutions and proposal plans) obtained up to the above. Then, evaluation is performed using an objective function to be described later, and the evaluation result is associated with the corresponding solution candidate and output to the user terminal 300 as information of the proposed plan (411), and the process is terminated. In this case, the automatic suggestion subsystem 100 classifies the evaluation values of the above solution candidates for each predetermined level, calculates values such as the maximum evaluation value, the minimum evaluation value, and the average value for each level. The calculation result is stored in the storage device 201 of the data server 200 as the attribute information 221 of the proposal plan.
  • the proposed plan described above includes an overall constraint satisfaction solution that satisfies all the constraint conditions but does not have the maximum objective function, and a Pareto optimal solution in which one of the objective functions has the maximum value. It is preferable that the automatic proposal subsystem 100 outputs a solution that satisfies a predetermined evaluation item from these solution candidates to the user terminal 300 as a proposal plan.
  • the solution search status monitoring screen 501 output from the automatic suggestion subsystem 100 to the user terminal 300 in step 409 in accordance with the processing of the above-described steps 402 to 408 will be described with reference to FIG.
  • the monitoring screen 501 shown in FIG. 7 includes an information display column 5011 that displays the solution candidates and the number of constraint satisfaction solutions found in the processing so far, the width and depth or time for searching the solution space, and the solution display in the solution space.
  • a progress status matrix 5012 with diversity (value of the later-described expression 37) on the vertical axis and time (number of executions of steps 404 and 406) on the horizontal axis, and a button 5013 for accepting search interruption and result display at that time from the user , And a cancel button 5014 are included.
  • the automatic suggestion subsystem 100 that has received the button 5013 determines that the end condition of step 410 in the above-described flow is satisfied.
  • the automatic suggestion subsystem 100 displays a place where the search has been completed, for example, black, and a future search schedule is displayed in white.
  • the above black area increases in principle from the upper left to the lower right of the screen.
  • solutions are unevenly distributed in the solution space, they may not always be colored according to principle.
  • the output value of the objective function for solution evaluation is used as a measure of solution diversity in the progress situation matrix 5012.
  • the objective function in this case, a solution close to the initial plan 2180 is determined as a good solution, and the similarity between the solution candidate and the input plan 2181 at the first time is used. Or you may define the total number of plan changes as the distance of two types of solutions. Further, for example, another function indicating the total working hours or the total overtime hours of the personnel as resources may be used as a measure of diversity.
  • the automatic suggestion subsystem 100 quantizes the evaluation value of the objective function described above into five levels, and divides the vertical axis indicating the diversity of the solution in the progress situation matrix 5012 into five squares corresponding to the five levels and displays them. is doing.
  • step 409 in the above-described flow the automatic suggestion subsystem 100 sequentially counts the total value of the obtained solution candidates for each evaluation value level, and the above-mentioned total value is a predetermined reference value at a certain level. If the value exceeds, it is assumed that on the above-described screen 501, a square that is advanced by one in the right direction of the time axis at the level is painted black.
  • FIG. 7 shows an example of a screen 502 output from the automatic suggestion subsystem 100 to the user terminal 300 in step 411 described above.
  • a screen 502 shown here is a screen for displaying a list of solution evaluation results.
  • the automatic suggestion subsystem 100 evaluates a plurality of solution candidates using a plurality of objective functions, performs sorting using each evaluation value as a key, and outputs the result.
  • a solution candidate having a maximum evaluation value is a Pareto optimal solution
  • the automatic suggestion subsystem 100 performs highlighting processing in a form surrounded by a rectangle 5021 on the screen 502 so as to stand out in comparison and examination. .
  • the plan has a constraint that a single worker is assigned to any task.
  • Equation 4 when the cost for the i-th worker to handle the j-th task can be defined, the objective function f () can be expressed using the variable alpha ⁇ (i, j). .
  • the plan for minimizing the objective function f () is an optimal solution that minimizes the cost. It can be similarly expressed by using another index such as performance instead of cost.
  • the neighborhood search method used in the present embodiment is a heuristic method for searching for a solution close to the initial value starting from the initial value, and is one of methods for searching for a solution close to the optimal solution.
  • the present invention can also be applied to other approximate solution solving methods.
  • Equation 5 a variable having a bit set of the number of bits (p) handled by the register in the automatic proposal subsystem 100 at a time is called a word (W).
  • Plan (X) is n chunk sets. This configuration corresponds to the plan information 550 in FIG.
  • a solution candidate (X ′) close to this input plan starting from the input plan (A) that may not satisfy some of the constraints, is a solution that satisfies the constraints.
  • the automatic proposal subsystem 100 searches for a proposal plan that becomes The input plan is assumed to be somewhat close to the constraint satisfaction solution.
  • the input plan is a part of the initial plan 2180 that satisfies the constraint conditions and is partially changed according to the current situation.
  • Equation 6 a function for performing a logical operation or a bit operation on the above-described word or chunk is used (XOR, AND, OR, SHIFT, etc.). Furthermore, as shown in Equation 7, functions that interpret a bit set of words and chunks as one multi-value variable value are described as Val (w) and Val (h). Although it is a function that is defined for explaining the comparison operation, the chunk variable can take a very large value, and therefore, it is not necessarily an implementation that directly digitizes this. It is technically equivalent to the processing procedure described below, and it is easy to implement an algorithm that performs a size comparison determination between chunks or a logical operation without digitization.
  • the automatic suggestion subsystem 100 searches for a solution candidate in the vicinity of the input plan after specifying an unsatisfied portion in the input plan that does not satisfy the constraint condition. Do not change existing allocations that meet local constraints as much as possible. Furthermore, as shown in Equation 8, the automatic suggestion subsystem 100 uses the resource management lists ah and bh for managing the changed records so as not to repeatedly search for the same solution candidate through chained changes. Control the search direction. In this resource management list, if a bit value is zero, it means that the corresponding resource is not yet changed, and if the bit value is 1, it means changed.
  • the resource management list is attribute information about the solution candidate X ′.
  • the automatic suggestion subsystem 100 stores and updates the resource management list in the solution candidates 116 and the attribute information 221 on the data server 200.
  • the automatic suggestion subsystem 100 stores the input plan as an initial value of the solution candidate X in the search list in step SA corresponding to step 401.
  • step SB corresponding to step 402 and step 403
  • the automatic suggestion subsystem 100 extracts the solution candidate X from the search list described above, and determines whether or not the constraint condition is satisfied.
  • Step SC corresponding to Step 404 and Step 405
  • the automatic suggestion subsystem 100 determines that another solution candidate X that locally solves the problem if the solution candidate X does not satisfy the constraint condition as a result of the above determination. 'Is created (resolving multiple assignments and unassignment).
  • step SD corresponding to step 406 the automatic suggestion subsystem 100 evaluates the solution candidate X when the solution candidate X satisfies the constraint condition as a result of the above determination.
  • step SE corresponding to steps 407 to 410, the automatic suggestion subsystem 100 makes a determination regarding the end condition. If the flow is not ended, the process returns to step SB described above. On the other hand, when ending the flow, the automatic suggestion subsystem 100 outputs the calculation results so far to the user terminal 300 (step 411).
  • the above-mentioned termination condition includes interruption by a user operation.
  • Step SB Method for Confirming Constraints>
  • the details of step SB described above will be described.
  • multiple allocation within a chunk refers to a state where a plurality of bit values are 1 in the chunk.
  • Multiple allocation between chunks refers to a state where the bit value of a specific bit position is 1 in a plurality of chunks.
  • the automatic suggestion subsystem 100 checks the relationship among a plurality of chunks. In this case, it is premised on a chunk that has been examined in advance using the above-described equation 9 to determine that neither multiple allocation nor unallocation is present in the chunk.
  • the automatic suggestion subsystem 100 cumulatively calculates the exclusive OR of the chunks as shown in Equation 10 below. If the plan satisfies the constraint condition, the bit positions at which the bit value is 1 do not collide between arbitrary plural chunks. Further, when the exclusive OR of the two variables is calculated, the value becomes 1 only at a position where the bit values are different.
  • the automatic suggestion subsystem 100 simultaneously determines the presence / absence and position of multiple allocations among a plurality of chunks and unallocated issues by using this feature amount.
  • Multiple allocation includes multiple allocation within a chunk and multiple allocation between chunks.
  • multiple allocation within a chunk refers to a state where there are a plurality of bits having a bit value of 1 in a certain chunk.
  • multiple allocation between chunks refers to a state in which a bit value at the same position in another chunk is 1 at a bit position where the bit value is 1 in a certain chunk.
  • the automatic suggestion subsystem 100 cancels multiple allocation within a chunk.
  • the automatic suggestion subsystem 100 performs a multiple assignment first determination to check how many words have a non-zero word value in the sth chunk.
  • the automatic suggestion subsystem 100 stores index set information indicating the position of the non-zero word in the corresponding chunk in the temporary variable u. To do.
  • the x-th non-zero word indexed in set u is denoted w (u, x).
  • the automatic suggestion subsystem 100 creates a plurality of chunk change proposals c ′ that leave any one of them.
  • the automatic suggestion subsystem 100 further sets the bit value 1 to w (u, x) described above in the chunk change plan (or the chunk that has passed the multiple allocation first determination) as shown in Equation 13.
  • a multiple assignment second determination is performed to check the number of bits.
  • the automatic proposal subsystem 100 leaves one of them.
  • a set of indexes indicating the position of the bit value 1 in a non-zero word is denoted by v.
  • a function SHIFT () in which only the bit value at the position (v, y) is 1 is used.
  • the word change plan w ′ (u, x) (v, y) in which the bit value 1 at the bit position (v, y) in w (u, x) is left is obtained by Equation 14.
  • the automatic proposal subsystem 100 obtains a chunk change proposal h (x, y) by replacing w ′ with the corresponding word of the input plan as shown in Equation 15.
  • the automatic proposal subsystem 100 When it is determined that the constraint is not satisfied in either or both of the above-described multiple allocation first determination and multiple allocation second determination, the automatic proposal subsystem 100 generates a plurality of chunk change proposals h (x, y). Their combination is a component of the proposal plan. At that time, if there is an existing allocation plan in another chunk at the bit position where the bit value in the chunk change proposal h (x, y) is 1, a multiple allocation constraint violation occurs. Therefore, as shown in Expression 16, the automatic proposal subsystem 100 calculates the logical product of the negation of the chunk h (x, y) and the other chunks, so that the existing allocation in the other chunks is associated with the combination. Create a released chunk set. This is called a solution candidate X ′.
  • a plurality of solution candidates X ′ are created along with the cancellation of the multiple allocation in the chunk. Further, if there are a plurality of chunks including multiple assignments in the input plan, the automatic proposal subsystem 100 creates a solution candidate X ′ as a combination thereof. The number of solution candidates X ′ is based on the number of bits 1 in the chunk. In the solution candidate X ′, the multiple assignment in the chunk is canceled.
  • the automatic suggestion subsystem 100 eliminates multiple allocations among a plurality of chunks. As shown in Equation 10, when there are multiple allocations between chunks, if the exclusive OR of the chunks is calculated cumulatively, the exclusive logic is found at the place where the second 1 is found at the same bit position. The cumulative value of the sum decreases. The chunk in which the problem is detected using Equation 10 is the foundth.
  • the automatic suggestion subsystem 100 here can find the lost-th chunk that collided with the found-th chunk by examining the cumulative value of the exclusive OR in reverse order as shown in Equation 17. In the processing so far, since the multiple allocation in the chunk is canceled, if a collision occurs, the two chunks have the same value.
  • the automatic suggestion subsystem 100 creates a chunk correction proposal in which either the found th chunk or the lost th chunk is zero.
  • the solution candidates X ′′ are solution candidates in which the chunk correction proposal is reflected in the input plan.
  • a plurality of solution candidates X ′′ can be created along with the cancellation of multiple allocation between chunks.
  • the number of solution candidates X ′′ is based on the number of collision bits at the same position.
  • the number of proposed plans to be searched is the arithmetic product (mh ′) of the number mh ′ of solution candidates X ′ and the number mh ′′ of solution candidates X ′′.
  • mh ′ the number of proposed plans to be searched.
  • '* Mh the maximum value.
  • Step SC Solution Search Method, Allocation of Unallocated Resources>
  • An unassigned chunk can be included in an input plan that is determined not to have multiple assignments (or a solution candidate that has canceled multiple assignments is also referred to as an input plan below).
  • the automatic suggestion subsystem 100 determines that the chunk is not assigned.
  • the number of unallocated chunks (the number of bit positions where a specific bit position is unallocated in all chunks) is m in principle.
  • the solution space is first limited to a range of planning problems extracted from unassigned m people and m tasks, and all cases are searched.
  • m ⁇ n holds. Therefore, the total number m of constraint satisfaction solutions for the selected planning problems! (M factorial) is the total number n of constraint satisfaction solutions of the original planning problem! Small enough.
  • Step SC Solution Search Method, Wide Area Search Starting from Unassignment Cancellation>
  • the neighborhood search method described above is one of the heuristic solutions, and a better solution at a distance from the neighborhood may be overlooked.
  • Metaheuristics is a technique that prevents heuristic solutions from being satisfied with the discovery of a local optimal solution.
  • the neighborhood search method a method of randomly including solution candidates that do not improve the situation in the search range, a method of using a plurality of search start positions, or the like can be used.
  • the solution candidates obtained by the allocation of the unallocated resources described above do not include a solution candidate that allocates an existing allocation in the input plan to another resource.
  • the automatic suggestion subsystem 100 sets a bit at a position (x, y) as a subset as shown in Equation 21.
  • a change word w (x, y) in which the value 1 is set is created.
  • the automatic suggestion subsystem 100 checks the value of the exclusive OR of the xth word aw (x) and the changed word w (x, y) in the resource management list ah. When the bit value 1 of the change word hits a bit position that is zero in the resource management list, the value of the exclusive OR becomes larger than the value of the list.
  • the automatic suggestion subsystem 100 narrows down candidates for the bit position (x, y) to be changed by this identification method, and updates the resource management list using the logical sum for the changed position. To do.
  • the automatic suggestion subsystem 100 sets the chunk correction plan h as an array in which the bit value 1 is set only in the zth unallocated chunk, the xth word, and the yth bit position in the input plan. (X, y, z) is created.
  • the automatic suggestion subsystem 100 creates a logical product with the negation of the chunk correction plan h (x, y, z), and creates a solution candidate X ′. Since the existing allocation is canceled by this logical product, a new multiple allocation resulting from the cancellation of the unallocation does not occur. However, new intra-chunk unallocation due to cancellation of unallocation can occur. To cope with this, the automatic suggestion subsystem 100 updates the resource management list bh so that the bit value of the position z is 1.
  • the automatic suggestion subsystem 100 determines whether or not the z-th chunk can be replaced using the resource management list bh. As shown in Equation 25, when the bit position where unallocation occurs among a plurality of chunks is (x, y), the automatic proposal subsystem 100 creates a chunk change proposal having a bit value of 1 only at that position. . Furthermore, the automatic suggestion subsystem 100 creates a solution candidate that is replaced with an existing chunk.
  • the automatic suggestion subsystem 100 can search for solution candidates one after another by repeatedly applying a method for eliminating unallocation between chunks under the constraints of the resource management lists ah and bh.
  • the solution candidate When there is no multiple allocation for a certain solution candidate and all the unallocations in the chunk are resolved, the solution candidate is a constraint-satisfying solution without examining the relationship between the chunks. Similarly, when there is no multiple assignment for a certain solution candidate and all unassignments between chunks are eliminated, the solution candidate is a constraint satisfaction solution.
  • the automatic proposal subsystem 100 can search for all constraint satisfaction solutions by examining solution candidates one after another and repeatedly searching for any approach. Since the resource management list accompanies the solution candidate and contributes to the suppression of the search range, the same solution is not searched twice even if two approaches of unassigned cancellation within a chunk and unassigned cancellation between chunks are used together. That is, it always converges while searching for possible combinations.
  • the automatic suggestion subsystem 100 can search for all constraint satisfaction solutions starting from the initial input plan.
  • the optimal solution may be compared and extracted using the formula (4).
  • ⁇ Effects of computational complexity compared to the basic implementation method implemented according to the basic formula> Next, the effect that the solution according to the present embodiment is superior in terms of calculation compared to the existing solution that solves the allocation planning problem will be described.
  • the processing method based on a logical operation using a bit set in this embodiment the logical operation corresponds to parallel processing of a plurality of bit information, and the processing is fast.
  • the effect on the number of calculations of the constraint evaluation method will be described.
  • the calculation amount of the basic mounting method implemented according to the formulas 2 and 3 will be considered first.
  • the addition operation is performed (2 ⁇ n ⁇ n) times in two directions, and the 2n total values are compared with 1.
  • the operation is performed 2n times to determine whether there is a problem.
  • N ⁇ (p + q) logical operations are performed.
  • the number of comparisons with the zero value is (q + 1) times.
  • n chunk logic operations n ⁇ q words in terms of implementation
  • Logical operation The number of comparisons with the cumulative value of the exclusive OR is n times. That is, the total number of calculations related to the two constraints is (n ⁇ (p + 2q)) times, and the total number of comparisons is (n + q + 1) times.
  • the method of the present embodiment has a smaller number of calculations than the basic mounting method, and is faster with less memory.
  • a comparison operation is added to identify the problematic bit position within the chunk or word.
  • the input plan is a sparse state with many zero values (the number of non-zero words is k (k ⁇ n))
  • the number of comparison operations of the method in this embodiment is n *. (P + k * q), which is less than the number of comparison operations n * n of the basic method and is advantageous. That is, the expression of this embodiment is practically faster than the basic mounting system.
  • Equation 1 there are 2 ⁇ (n * n) solution candidates in the entire solution space, and the infeasible solution occupies the majority.
  • the brute force method uses only heuristics to execute only the constraint satisfaction solutions that can be executed in a mechanical index order.
  • a method of picking out (n factorial) constraint satisfaction solutions Since the calculation cannot be performed in polynomial time, the amount of calculation of the brute force method with a large n is extremely large, and it is often impossible to extract all constraint satisfaction solutions within a practical time.
  • the theoretically worst input in the system of this embodiment is a case where all bit values are 0 in the input plan, and no task is assigned to anyone. At this time, the determination of multiple allocation passes, but n! It takes as many searches as there are street constraint satisfaction solutions. For this reason, it is almost the same as the brute force method. However, since a plan that is reasonably reasonable is used on the assumption that it is the initial value of the input plan, if the number of unallocated resources in the input plan is m (m ⁇ n), the number of constraint satisfaction solutions is m! ⁇ n! Therefore, in many cases, the processing can be completed earlier than the brute force method.
  • Second Embodiment In the second embodiment, an example in which the planned task support technology of the present embodiment is applied to a railway crew member operation / organization task will be described.
  • the task of planning which train a railway crew member is in charge of is called an operation organizing task, and is a task that is required to solve an assignment problem similar to that in the first embodiment. Therefore, the mathematical formulas and diagrams used in the description of the second embodiment are the same as those in the first embodiment, and the description of the same configuration and operation is omitted.
  • a description will be mainly given of differences that occur in the flows of FIGS. 5 and 6. Further, a process corresponding to the entire solution search will be mainly described with reference to FIGS. 9 to 11 and Expressions 26 to 35.
  • step 303 the automatic suggestion subsystem 100 outputs the unsatisfied part of the input plan to the user terminal 300 as an alarm for the user.
  • the automatic suggestion subsystem 100 receives from the user terminal 300 an instruction to search for a local option that locally satisfies the constraint indicated by the alarm.
  • the automatic suggestion subsystem 100 searches for local options from the situation information 216 in which the crew and train information is stored.
  • This local option is information consisting of a proposal (train, crew), reason for proposal, and order of proposal.
  • a predetermined character corresponding to the search content based on the search key used when searching is used. Create a column.
  • the logic of what to search for what kind of alarm is predetermined and stored in the storage device 101 as a plurality of patterns.
  • the automatic proposal subsystem 100 matches the above-mentioned local options with the proposal plan (overall solution) calculated in step 302. Specifically, if a local option is included in a certain proposal plan, the attribute information of the proposal plan (for example, the local option forms part of the optimal solution) is used as the character of the proposal reason information. Add to the column. By adding the characteristics of the overall solution to the reason for the proposal, the user viewing it can match each proposed local plan while matching the proposed plan that is the overall solution with the sequential local options. It can be determined whether the proposal is an element that leads to an optimal solution. Since proposal reason information is strengthened, it can support a user's decision making.
  • the automatic suggestion subsystem 100 outputs a screen 503 illustrated in FIG. 10 to the user terminal 300.
  • This screen 503 is a screen example in which attribute information (such as an optimal solution) of the proposed plan is output to the user terminal 300.
  • attribute information such as an optimal solution
  • the crew members who are on the train of “train number 35” are not assigned, the crew numbers “102”, “103”, and “104” can be assigned.
  • the search result is output as a proposal.
  • the automatic proposal subsystem 100 receives from the user terminal 300 that the above-mentioned user has selected the desired proposal on the screen 503, and reflects the corresponding proposal (train, crew member) in the input plan to change the state. Let If there are still unsatisfied locations in the plan that has made the state transition, the automatic suggestion subsystem 100 returns the process to step 303 and repeats these processes to execute problem solving interactively. Or you may carry out control or operation guidance so that a proposal plan may be accepted at once, without solving interactively.
  • step 404 the automatic suggestion subsystem 100 specifies at which time the constraint is not satisfied when evaluating the solution, and uses the time information ( ⁇ m) as the attribute information 221 of the solution candidate.
  • the data is stored in the storage device 201 of the data server 200.
  • the automatic suggestion subsystem 100 manages whether or not it has been changed during the search by using the resource management list.
  • the automatic proposal subsystem 100 creates a plan change plan that is consistent with the resource management list, and updates and saves the resource management list for resources (crew, trains, etc.) used in the plan change plan.
  • the resource management list in the second embodiment is one-dimensional array information, and is different from the first embodiment (Equation 8, ah, bh) in that time is added to the type of resource and the length is different. .
  • step 406 the automatic suggestion subsystem 100 evaluates the solution, further creates it as attribute information 221 together with being a solution candidate satisfying the constraint, and stores it in the storage device 201 of the data server 200.
  • Step 409 the automatic suggestion subsystem 100 outputs the screen 501 illustrated in FIG. 7 to the user terminal 300 when outputting the calculation status. Further, in step 411, the automatic suggestion subsystem 100 sorts the solution candidates in the order of evaluation values, thereby determining the superiority or inferiority of the solution or the optimum solution. In this step 411, the automatic suggestion subsystem 100 outputs the above sort result to the user terminal 300 as the screen 502 illustrated in FIG.
  • the solution with the maximum specific evaluation value is the Pareto optimal solution.
  • the solution having the maximum specific evaluation value in the searched range even when the search is interrupted is called a Pareto optimal solution candidate.
  • FIG. 9 is an explanatory diagram of the plan information 950 in the second embodiment.
  • the plan information 950 shown in FIG. 9 expresses, as a 1-bit position information, a plan for when and what work (train crew, station waiting, etc.) a crew member is assigned using a bit set.
  • a quantum time axis is provided for each time unit, and the end time is m.
  • On the horizontal axis in addition to the number of crew n, a special crew number (0) indicating the berth of the train is provided.
  • On the vertical axis in addition to the number of trains a and the number of stations b, a special position number (0) indicating the occupancy of the crew is provided. That is, one plan information as a whole constitutes m ⁇ (n + 1) ⁇ (a + b + 1) three-dimensional bit sets. There may be more dimensions than three dimensions.
  • plan information 950 Even if the plan information 950 has a three-dimensional structure, it can be stored in words and chunk variables as shown by the plan information 550 in FIG. A bit set in the time axis direction may be stored in a word variable.
  • the automatic suggestion subsystem 100 can process information of a plurality of bits in parallel by a logical operation that manipulates these variables. Further, as in the first embodiment, constraint condition evaluation, solution search, and solution evaluation can be processed at high speed in units of variables.
  • Constraints to be satisfied by such plan information 950 include the following. In the vertical direction of the crew row, in principle, one bit has a value of 1. That is, a crew member cannot exist in two places at the same time, but exists somewhere. This condition is equivalent to the condition of Formula 2 in the first embodiment.
  • the constraint condition that the plan information 950 should satisfy further includes a condition that the number of bits having a value of 1 is 0 or more in the horizontal direction of the business line. That is, a plurality of crew members can ride on a certain train. This condition relaxes the condition of Equation 3 in the first embodiment, but is affected by other related complicated constraints. If the number of bits whose value is 1 is 0, there are no assigned crew members (constraints are not satisfied). If there are 1, the crew members in charge are present. If there are 2 or more bits, the flight crew members are in addition to the crew members in charge. Exists. In addition, restrictions such as ensuring that the crew's place of stay is the same in the initial plan and the proposed plan after the change, and securing transit time to the train are added.
  • block variables having a plurality of chunks spanning time and space as a group variable may be used as an operation unit.
  • a compression status variable which is another bit set representing only the presence or absence of a block variable
  • the data capacity of the plan information can be greatly reduced, and the number of logical operations of the variable can be greatly reduced. That is, processing can be performed at high speed while saving resources.
  • a plurality of chunk variable sets are grouped together in time units and set as one slice variable.
  • a one-dimensional bit set indicating the presence or absence of a slice variable having a non-zero value is referred to as a compression status variable sh (size m).
  • the compressed plan information can be configured by the compression status variable sh and a plurality of slice variable sets whose values are non-zero.
  • the corresponding slice variable in the slice variable set is set as the t-th time information of the plan information. Further, if the (t + 1) th element of the compression status variable sh is zero, the tth slice variable in which the element of the compression status variable sh becomes non-zero before (t + 1) is set in the plan information. In this way, the same plan information as before compression can be reconstructed. Even if the reconstruction is not performed, if the element value of the compression status variable sh is zero, the processing of the slice is in the same status as the previous time, and may be excluded from the situation determination and solution candidate creation targets. Memory can be saved and resources can be processed at high speed.
  • plan information 950 there are a wide variety of conditions for the constraints that the plan information 950 should satisfy. There are certain restrictions on train operation according to train connections and timetables, and in order to reflect these restrictions in the plan, data used in later calculations is created in advance.
  • Each bit value in the bit set has a corresponding real information and physical object so that there is a unique train number corresponding to a particular train.
  • a sequence of bit values is a direct index. Therefore, the real information is arranged in the corresponding order, and the real information is created and stored in the attribute information 221 in advance.
  • Numerals 26 to 29 indicate variables that are created in advance and stored in the memory 203 or the data server 200 before the overall solution search process in step 302 in the automatic proposal processing unit 110 of the automatic proposal subsystem 100.
  • the plan information 950 is type-defined as a variable of the three-dimensional bit set B.
  • the variable B is technically equivalent to the conceptual diagram shown in FIG. This represents a plan for allocating (a + b) tasks to n people every time until time m. For example, when the bit value of the variable B is 1, the task corresponding to the crew corresponding to the time is assigned. The task uses the location variable to indicate the position of the crew, whether it is aboard one of the a trains, waits at any of the b train stations, or is unplanned due to a delay (zero value) ). Then, an input plan sB and a proposed plan (or solution candidate) pB are defined as a subset of the set B. These are technically equivalent to the input plan 2181 and the proposal plan 2191.
  • a part of the input plan is extracted to create a subset tT of time and position (train).
  • the subset tT is an operation schedule. For example, when a certain train has a bit value of 1 at a certain time, it indicates that the train is in operation including the work time after arrival before departure.
  • the crew may prepare the operation time required for train departure preparation and arrival work after arrival in the train operation time. In that case, the actual train operation time is determined separately in the train operation timetable.
  • a train timetable jT is created as a bit set.
  • loc (train) that leaves loc_part (departure station) at time_depart (departure time) indicates a plan to arrive at loc_arrive (arrival station) at time_arrive (arrival time).
  • jT is a list of these five items, and corresponds to a timetable that summarizes the relationship between the station and time for each train.
  • the route information tB is defined as a bit set indicating the relationship between the departure station, the train, and the arrival station. For example, on a certain route, the train job sets the bit value corresponding to location1 to 1 so as to indicate that it is possible to get on at time 1 at the departure station location1. When a predetermined time elapses, the train job arrives at the arrival station location2 at time time2. After time time2, the value of arrival station location2 is set to 1.
  • the sB_per variable shown in Expression 30 is information obtained by compressing the initial plan 2180 and the input plan 2181 of the plan DB 218 for each crew member, and is two-dimensional information indicating the relationship between the place (train) and time.
  • This sB_per variable is created in advance before searching by adding and summing up the bit values of all crew members at a certain time of a train in the plan sB.
  • the bit value of the sB_per variable is 1, it indicates that a crew member is assigned to the train at the time.
  • crew members are appropriately assigned and satisfy the constraint condition of sB_per shown in Equation 30.
  • the pB_per variable shown in Expression 30 is information obtained by compressing the solution candidate (suggested plan) by addition and summing in the same manner as the sB_per variable, and is created by the automatic proposal subsystem 100 in step 402. Some pB_per variables may not follow the same constraints as the sB_per variables. When there is a change in the plan, such as when a problem such as a train delay occurs, the constraint condition is not always satisfied.
  • the rank () function is a function for counting the number of bit values of the proposal plan pB, and the automatic proposal subsystem 100 determines that it is a constraint violation when the calculation result is not 1. Analyze the situation to see if the constraint is satisfied.
  • the expression 31 is equivalent to the process of determining the calculation result of adding and summing the bit values in the vertical direction or the horizontal direction, and corresponds to the constraint condition of the expression 2 or 3 in the first embodiment. Therefore, the automatic suggestion subsystem 100 can perform determination calculation using the same high-speed processing method as in the first embodiment.
  • the table shown in FIG. 11 is a comparison table 1100 for checking whether a crew member is unassigned or assigned to a certain train.
  • Restrictions that should be satisfied by the solution candidate (suggested plan) include that a crew member is assigned to a train that operates, and that a crew member that does not operate does not have a crew member assigned.
  • This constraint condition can be determined by comparing the value of the sB_per variable and the value of the pB_per variable and comparing each bit value with the comparison table 1100 of FIG.
  • Equation 32 shows a calculation method in which the same determination processing as in FIG. Further, this constraint condition has the effect of parallel processing by processing in units of words or chunks when the exclusive OR calculation shown in Equation 32 is used. In addition, multiple judgment items in the comparison table are judged at the same time by the exclusive OR feature that reacts to different bit values, so it is possible to quickly check whether there is a constraint violation by checking the exclusive OR value against zero. it can.
  • Equation 33 indicates a method for searching for a crew member who can be on the train (loc1) after it is determined that the crew member is not assigned to a certain train.
  • the automatic suggestion subsystem 100 searches the departure station (loc_depart) of the train from the timetable jT variable using loc1 as a search key.
  • the automatic proposal subsystem 100 searches for all crew members (per) waiting at the same departure station at the departure time (time_depart). The searched crew (per) can be on the train and can continue waiting at the station.
  • the automatic proposal subsystem 100 creates a plan change plan for assigning the crew member thus searched to the train.
  • the calculation formula shown in Expression 34 shows a method in which a crew member (per1) waiting at a station (loc1> a) at a certain time (time1) searches for all trains (loc) that can be boarded.
  • the automatic suggestion subsystem 100 searches the timetable jT for a train (loc) that departs from the station at the time (loc_depart). Further, the automatic proposal subsystem 100 creates a plan change plan that assigns the crew to the searched train.
  • the calculation formula shown in Expression 35 indicates a method for changing the plan information pB, particularly from the viewpoint of the time axis direction, when the operation is changed by the calculation shown in Expression 33 or Expression 34.
  • a crew member (per1) is on a train (loc).
  • the train is described in advance in the timetable of departure time (time_depart), departure station (loc1), arrival time (time_arrive), arrival station (loc2), and the automatic suggestion subsystem 100 refers to the information.
  • the automatic proposal subsystem 100 changes the assignment of the crew member in the solution candidate pB, all the crew plans after the arrival time of the train (loc), that is, after the operation ends, are set to zero.
  • the automatic suggestion subsystem 100 sets all bit values corresponding to the crew and the train (loc) to 1 so that the crew rides the train from the departure time to the arrival time. Further, the automatic suggestion subsystem 100 sets all bit values corresponding to the crew and the station (loc2) to 1 so that the station waits at the arrival station during the time zone after arrival.
  • the calculation formula shown in Expression 36 represents a high-speed process equivalent to the plan change using Expression 35.
  • the automatic suggestion subsystem 100 first creates a mask variable mask. This indicates a step-like signal change around the departure time (time_depart) for the train (loc).
  • the automatic suggestion subsystem 100 creates a temporary variable tB indicating the operation status of the train with reference to the operation schedule and timetable. This is composed of train crew (job), position (location), and time (time).
  • the automatic suggestion subsystem 100 calculates the logical product of the change in the time direction (t) at the position of the crew (per1) and train (loc) of the plan information pB and the negation of the mask variable.
  • the logical product value of 1 is obtained. That is, the train before the departure time is held for the train before the departure time.
  • the automatic suggestion subsystem 100 obtains a second logical product value by calculating a logical product of the temporary variable tB and the mask variable. That is, a schedule after the departure time is created.
  • the automatic proposal subsystem 100 creates a plan that is aligned in the time axis direction by calculating the logical sum of the first logical product value and the second logical product value. Since the plan created in this way is a part of the plan information and is only scheduled for the crew, the plan is finally reflected in the entire plan information.
  • the calculation formula shown in Expression 37 indicates a calculation method for evaluating whether a solution candidate (proposed plan) is a good solution, and is performed in the processing in step 406.
  • the automatic proposal subsystem 100 calculates respective evaluation values for a plurality of solution candidates obtained in the search process.
  • the proposed plan pB close to the input plan sB is appropriate to some extent. If the calculated inner product value of two solutions in the solution space, that is, sB and pB is e1, e1 indicates the closeness of sB and pB in the solution space corresponding to the intersection angle of the two solution vectors.
  • the exclusive OR e2 of sB and pB corresponds to the distance between two solution vectors and indicates the total number of plan changes.
  • E3 indicating the sum of the number of bit values of 1 is an index indicating the total crew time.
  • various indicators such as total working hours, peak overtime hours, and total number of planned changes can be calculated.
  • the optimization objective function shown in Equation 4 may be used, and conversely, the calculation method of Equation 37 may be used as the solution evaluation method in the first embodiment.
  • the computing device in specifying multiple allocation and non-allocation of the resource, violates a change in cumulative value when the logical operation is cumulatively performed.
  • the presence / absence and location of the occurrence of an event may be specified. According to this, identification of the violation event becomes more efficient and accurate.
  • the computing device when the solution candidate is created, the computing device, when the result of specifying the violation event includes multiple allocation of resources in the plan information, The variable A and the zero-value variable B are replaced to create a solution candidate with a predetermined number of bits whose value is non-zero, and as a result of specifying the violation event, resource information is included in the plan information.
  • a variable C having a bit position where unassignment has occurred and a variable D in which only the bit value at the bit position is 1 are created, and a solution candidate is created. It is also possible to execute a process of creating a solution candidate by performing a predetermined logical operation between at least one of B and variable D and another variable constituting the plan information. This makes solution candidate creation more efficient based on bit operations.
  • the storage device further holds initial plan information that is the plan information that is the basis of the plan information and does not violate a constraint condition, Calculating a dot product value of the initial plan information and the solution candidate, obtaining a first evaluation value of the corresponding solution candidate, and a bit value of an exclusive OR of the initial plan information and the solution candidate Screen for enumerating solution candidates in the order of the evaluation values of the process of obtaining the second evaluation value of the solution candidates by addition and aggregation, and at least one of the first evaluation value and the second evaluation value
  • the process of outputting data to a predetermined device may be further executed. According to this, the user can easily understand and select the appropriateness of the solution candidate, so that the solution search becomes faster and more efficient.
  • the storage device further holds initial plan information that is the plan information that is the basis of the plan information and does not violate a constraint condition, Calculating a dot product value of the initial plan information and the solution candidate, obtaining a first evaluation value of the corresponding solution candidate, and a bit value of an exclusive OR of the initial plan information and the solution candidate Summarize the solution candidates in the order of the evaluation values for at least one of the process of obtaining the second evaluation value of the solution candidates by addition and aggregation and the first evaluation value and the second evaluation value.
  • the screen data of level candidate solutions Updated, and outputting it to said predetermined device may be a one in which further executes.
  • the visibility of the user is improved when the solution candidate is displayed on the screen, and the corresponding user can more easily understand and select the appropriateness of the candidate solution, and thus the solution search is quicker and more efficient. It will be a thing.
  • the arithmetic device may further execute a process of outputting a processing status related to the solution candidate to a predetermined device.
  • the storage device includes, as the plan information, n crew members, a trains, b stations, and time information in units of m hours. Is stored in a three-dimensional or more bit set of n ⁇ (a + b) ⁇ m, which is expressed as a Boolean value with respect to the presence or absence of allocation in the time and position, and the arithmetic unit stores the i th train in the plan information A bit value 1 is set from the departure time to the arrival time of the train in the time range m when the j-th crew member is assigned and the plan candidate is changed while the plan before the departure time of the train is saved.
  • a process for creating the first bit set having a length m, with the other being 0, and a mask with a bit value 0 before the departure time of the train in the time range m and the other 1 A process of creating a second bit set of length m, negation of the mask and a first logical product of the plan information, and a second logical product of the mask and the operation information. It is also possible to perform a calculation and a process of calculating a logical sum of the first logical product and the second logical product.
  • the information processing system based on the change tendency of the accumulated value when the logical operation is cumulatively performed when the multiple allocation and unallocation of the resource are specified, It may be possible to identify the presence and location of a violation event.
  • the plan information includes multiple allocations of resources as a result of specifying the violation event, multiple allocation is performed.
  • a variable candidate A and a zero-value variable B are replaced to create a solution candidate with a predetermined number of bits whose value is non-zero, and a specific result of the violation event is a resource in the plan information.
  • a variable C having an unallocated bit position is replaced with a variable D in which only the bit value at the bit position is 1, the process of creating a solution candidate, A process of creating a solution candidate by performing a predetermined logical operation between at least one of the variable B and the variable D and another variable constituting the plan information may be executed.
  • the information processing system further holds initial plan information that is the plan information that is the basis of the plan information and does not violate a constraint condition in the storage device, A process of calculating an inner product value of the initial plan information and the solution candidate, obtaining a first evaluation value of the corresponding solution candidate, and adding a bit value of an exclusive OR of the initial plan information and the solution candidate Summarizing and obtaining the second evaluation value of the solution candidate, and screen data listing solution candidates in the order of the evaluation value for at least one of the first evaluation value and the second evaluation value May be further executed.
  • the information processing system further holds initial plan information that is the plan information that is the basis of the plan information and does not violate a constraint condition in the storage device, A process of calculating an inner product value of the initial plan information and the solution candidate, obtaining a first evaluation value of the corresponding solution candidate, and adding a bit value of an exclusive OR of the initial plan information and the solution candidate Aggregating and obtaining a second evaluation value of the solution candidate, and at least one of the first evaluation value and the second evaluation value, enumerate solution candidates in the order of the evaluation value Processing to be output to the apparatus, and classifying the solution candidates by predetermined level based on the evaluation value, totaling the number of solution candidates for each level, and the corresponding level when the aggregated value is equal to or greater than a predetermined value
  • the screen candidate for the solution candidate Update the data, and outputting it to said predetermined device, it may further executes.
  • the information processing system may further execute a process of outputting a processing status related to the solution candidate to a predetermined device.
  • the information processing system uses the storage device as the plan information for n crew members, a trains, b train stations, and time information in units of m hours.
  • the operation information to be 0, a process of creating a first bit set of length m, and a mask in which a bit value 0 is set before the departure time of the train in the time range m and the others are set to 1.
  • a process for creating a second bit set of length m, negation of the mask and a first logical product of the plan information, and a second logical product of the mask and the operation information may be executed.
  • Planned Work Support System 20 Network 100 Automatic Proposal Subsystem 101 Storage Device 102 Program 103 Memory 104 Arithmetic Device 105 Communication Device 110 Automatic Proposal Processing Unit 111 Logical Operation Processing Unit 112 Input / Output Processing Unit 200 Data Server 215 Calculation Log 216 Status Information 217 Business model 218 plan DB 2180 Initial plan 2181 Input plan 219 Solution candidate DB 2190 solution candidate 2191 proposal plan 220 approval plan 221 attribute information 300 user terminal 400 situation change contact machine

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Human Resources & Organizations (AREA)
  • Strategic Management (AREA)
  • General Physics & Mathematics (AREA)
  • Economics (AREA)
  • Tourism & Hospitality (AREA)
  • Marketing (AREA)
  • General Business, Economics & Management (AREA)
  • Operations Research (AREA)
  • Mathematical Physics (AREA)
  • Game Theory and Decision Science (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Development Economics (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Primary Health Care (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Train Traffic Observation, Control, And Security (AREA)

Abstract

計画業務支援システム10をなす自動提案サブシステム1000において、計画情報を格納する記憶装置101と、計画情報における所定制約条件への違反事象を、各変数のビット列および変数間における同一リソースに対応した各ビット、のそれぞれについて、所定値との所定論理演算を行ってリソースの多重割当および未割当として特定し、該当違反事象を解消すべく計画情報における該当変数のビット列に関して所定アルゴリズムによる変更を行って解候補を作成し、解候補と計画情報を置換して違反事象の解消および解候補作成の処理を繰り返すことで出力計画情報を生成する演算装置104を備える構成とする。

Description

計画業務支援システムおよび計画業務支援方法
 本発明は、計画業務支援システムおよび計画業務支援方法に関する。
 最適化問題は、現実の制約に縛られた問題に対する数理的な解決解を求める上で用いるモデルである。その中でも、解となる変数をブール値で求める0-1整数計画問題は、タスクと作業員の割当関係を決めるような割当計画に適用可能であり、人員計画、商品配送、設備配置などの多くの応用分野を持つ。
 しかし、実際の問題に応用するには多様な制約条件が加わったり、計算範囲が爆発的に広がったりするなどして、最適化以前に制約充足解を見つけることもむつかしい。例えば、制約条件を満たす解が存在するかどうかを判定する0-1整数計画問題は、多項式時間で解けないNP完全問題の代表例のひとつである。このため、応用分野固有の緩和条件を加えた問題を解く研究や最適解に近い近似解を求めようとする研究が多くなされてきた。整数計画問題の最適解を求める一般的な解法にはシンプレックス法、総当り法などがある。また、最適化手法が適用困難な問題に対して、近似解を求める発見的解法(ヒューリスティクス)も使われる。
 そうした技術に関連するものとして、以下の技術が提案されている。すなわち、所与の運転整理ダイヤに基づいて当該運転整理ダイヤに対する乗務員の運用行路の候補を生成する行路候補生成手段と、前記生成された運用行路候補それぞれについて当該運用行路候補の選択是非を“1”又は“0”の値で表わす0以上1以下の変数として表わし、前記運転整理ダイヤを構成する全列車の各乗務それぞれについて当該乗務に係る運用行路候補の変数の和が1以上となるように表わした第1のモデル式と、各乗務員それぞれについて当該乗務員の乗務に係る運用行路候補の変数の和が1となるように表わした第2のモデル式とを求め、前記第1及び第2のモデル式が成り立つ前記変数それぞれの値を算出する解算出手段と、前記解算出手段により算出された前記変数の値全てが整数となったときの前記運用行路候補の組合せを暫定運用整理案として取得する暫定運用整理案取得手段と、運用行路候補が当該評価指標に適合するための条件と適合した場合の評価値とが定められた複数の評価指標それぞれの適否を判定して評価値を算出することで運用行路候補を評価する評価処理を、前記生成された運用行路候補について実行する評価手段と、前記暫定運用整理案取得手段により取得された暫定運用整理案の運用行路候補それぞれの前記変数の値と、前記評価手段により算出された当該運用行路候補の評価値との乗算値を積算した値を当該暫定運用整理案に対する総評価値として算出する総評価値算出手段と、前記解算出手段及び前記暫定運用整理案取得手段による処理を繰り返し実行させる繰り返し制御手段と、を備える運用整理案作成装置(特許文献1参照)などが提案されている。
特許第4945370号
 従来より提案されてきた技術であっても、問題の特性によっては解空間と緩和条件がフィットせず、必ずしも精度の良い近似解や最適解を発見、導出できないケースや、或いはユーザの許容範囲を越えた長大な計算時間を要するケースもある。
 そこで本発明の目的は、計画問題の解法処理を高速化し、従来よりも精度良好な解を効率良く取得する技術を提供することにある。
 上記課題を解決する本発明の計画業務支援システムは、事象への割当対象となるリソース数に基づく所定数のビット列たる変数を、前記事象の数に応じて所定セット組み合わせ、複数事象に対する複数リソースの各割当状態を前記ビット列で示した計画情報を格納する記憶装置と、前記計画情報における所定制約条件への違反事象を、前記各変数のビット列および前記変数間における同一リソースに対応した各ビット、のそれぞれについて、所定値との所定論理演算を行ってリソースの多重割当および未割当として特定し、該当違反事象を解消すべく前記計画情報における該当変数のビット列に関して所定アルゴリズムによる変更を行って解候補を作成し、前記解候補と前記計画情報を置換して前記違反事象の解消および解候補作成の処理を繰り返すことで出力計画情報を生成する演算装置とを備えることを特徴とする。
 また、本発明の計画業務支援方法は、事象への割当対象となるリソース数に基づく所定数のビット列たる変数を、前記事象の数に応じて所定セット組み合わせ、複数事象に対する複数リソースの各割当状態を前記ビット列で示した計画情報を格納する記憶装置を備えた情報処理システムが、前記計画情報における所定制約条件への違反事象を、前記各変数のビット列および前記変数間における同一リソースに対応した各ビット、のそれぞれについて、所定値との所定論理演算を行ってリソースの多重割当および未割当として特定し、該当違反事象を解消すべく前記計画情報における該当変数のビット列に関して所定アルゴリズムによる変更を行って解候補を作成し、前記解候補と前記計画情報を置換して前記違反事象の解消および解候補作成の処理を繰り返すことで出力計画情報を生成することを特徴とする。
 本発明によれば、計画問題の解法処理を高速化し、従来よりも精度良好な解を効率良く取得可能となる。
第1実施形態の計画業務支援システムを含むネットワーク構成図である。 第1実施形態における自動提案サブシステムのハードウェア構成例を示す図である。 第1実施形態のデータサーバのハードウェア構成例を示す図である。 第1実施形態における計画情報のデータ構造を説明する図である。 第1実施形態の計画業務支援方法の手順例1を示すフロー図である。 第1実施形態の計画業務支援方法の手順例2を示すフロー図である。 第1実施形態における出力画面例1を示す図である。 第1実施形態における出力画面例2を示す図である。 第2実施形態における計画情報のデータ構造を説明する図である。 第2実施形態における出力画面例を示す図である。 第2実施形態における乗務員割当未済を判定する比較テーブルの例を示す図である。
---全体構成---
 以下に本発明の実施形態について図面を用いて詳細に説明する。図1は本実施形態の計画業務支援システムたる自動提案サブシステム10を含むネットワーク構成例を示す図である。図1に示す計画業務支援システム10は、計画問題の解法処理を高速化し、従来よりも精度良好な解を効率良く取得可能とするコンピュータシステムである。こうした計画業務支援システム10は、自動提案サブシステム100およびデータサーバ200から構成されている。但し以降の説明では、処理を主体的に実行する自動提案サブシステム100を計画業務支援システム10の主要構成として説明するものとする。
 こうした計画業務支援システム10はネットワーク20に接続され、ユーザ端末300および状況変化連絡機400とデータ通信可能となっている。なお、データサーバ200の保持するデータを自動提案サブシステム100が全て保持し、自動提案サブシステム100のみで計画業務支援システムを構成するとしてもよい。
 なお、上述のユーザ端末300は、企業等で計画業務を担当するユーザが利用する計算機である。このユーザ端末300は、自動提案サブシステム100、データサーバ200、および状況変化連絡機400の各通信装置とアクセスし、これらの各機器に対してユーザ指示の通知と処理結果の受信および表示の各処理を行う。
 また、状況変化連絡機400は計算機であり、計画対象となる各種事象やリソースに関して生じた変化を自身のセンサ等で、或いは他の適宜な管理装置等の通知によって感知し、予め定めたプロトコルにて、上述の変化に関する連絡をデータサーバ200(または自動提案サブシステム100)に対して実行する。状況変化連絡機400は計算機であるため、こうした処理に対応した機能をプログラムによって実装する。こうした変化に関する連絡の処理としては、例えば、初期計画に従って人が業務遂行する際にどの人の何のタスクにどのような問題が生じているかについての情報をセンサ、ネットワークを介して受信した場合に、該当情報をデータサーバ200に送信して状況情報216を逐次更新するものが想定出来る。また、変化に関する連絡の他の処理としては、例えば、上述の変化に関する情報によって計画DB218の初期計画2180ないし入力計画2181の変更を行うことである。これら状況変化連絡機400の機能は、ユーザによって変化に関する情報入力を受けたユーザ端末300が同様に担うとしてもよい。
---ハードウェア構成---
 図2は、第1実施形態における自動提案サブシステム100のハードウェア構成例を示す図である。本実施形態の計画業務支援システム10を構成する自動提案サブシステム100のハードウェア構成は以下の如くとなる。自動提案サブシステム100は、ハードディスクドライブなど適宜な不揮発性記憶素子で構成される記憶装置101、RAMなど揮発性記憶素子で構成されるメモリ103、記憶装置101に保持されるプログラム102をメモリ103に読み出すなどして実行しシステム自体の統括制御を行なうとともに各種判定、演算及び制御処理を行なうCPUなどの演算装置104、ネットワーク20と接続し他装置との通信処理を担う通信装置105を備える。
 なお、上述の演算装置104を構成するCPUは、複数ビットを同時に読み出し、演算、格納、出力するレジスタを備え、メモリ103内に配置したプログラムモジュールの制御命令に従って処理を行うものである。
 図3は、第1実施形態のデータサーバ200のハードウェア構成例を示す図である。本実施形態の計画業務支援システム10を、上述の自動提案サブシステム100と共に構成するデータサーバ200のハードウェア構成は以下の如くとなる。データサーバ200は、ハードディスクドライブなど適宜な不揮発性記憶素子で構成される記憶装置201、RAMなど揮発性記憶素子で構成されるメモリ203、記憶装置201に保持されるプログラム202をメモリ203に読み出すなどして実行しシステム自体の統括制御を行なうとともに各種判定、演算及び制御処理を行なうCPUなどの演算装置204、ネットワーク20と接続し他装置との通信処理を担う通信装置205を備える。
 なお、上述の記憶装置201には、計算ログ215、状況情報216、業務モデル217、計画DB218、解候補DB219、承認計画220、および属性情報221のデータが格納されている。これらデータは、予めユーザが作成して保存しておくか、あるいはネットワーク接続された別の機器によって作成されたデータを受け取り保存したものとなる。
 このうち計算ログ215は、解候補作成における種々の計算過程に関するログであり、自動提案サブシステム100がデータサーバ200に格納するものである。
 また、状況情報216は、状況変化連絡機400やユーザ端末300から通知された、事象とリソースの状態に関する情報である。例えば、交通機関における機械やシステムの遅延や故障等の稼働状況や、それらに割り当てられる人員の所在や勤怠状況といった情報が対応する。
 また、業務モデル217は、上述の状況情報216が示す所定状況時に何故どういう計画変更(解候補作成)を行うべきかを定めたルールベースであり、例えば状況の種類別に、計画変更内容、提案理由(解候補作成の理由)、優先順位(解候補の評価順位)等を示すデータの集合となっている。
 また、計画DB218のうち、初期計画2180は、計画対象の事象に関して所定の制約条件を満たす当初計画である。一方、入力計画2181は、状況変化連絡機400やユーザ端末300が通知してくる上述の状況情報216が示す事象やリソースの状況変化に基づいて、上述の初期計画2180の内容、具体的には該当ビット値を変更した計画である。この入力計画2181は必ずしも所定の制約条件を満たさないものの、上述の初期計画2180にある程度近い内容である。
 なお、上述の初期計画2180、入力計画2181のいずれも、事象への割当対象となるリソース数に基づく所定数のビット列(ワード)たるワード(チャンク)を、上述の事象の数に応じて所定セット組み合わせ、複数事象に対する複数リソースの各割当状態をビット列で示した情報となる。こうした初期計画2180、入力計画2181の一例を、図4の計画情報として示す。
 図4は本実施形態における計画情報のデータ構造を説明する図である。ここで例えば、8人の作業員(リソース)に8個のタスク(事象)を割り振る問題に対する解として計画情報を考える。この場合、i番目の作業者がj番目のタスクに割当てられているかどうかをブール値X(i,j)で示すとき、図4のマトリクス500のように、そのブール値の集合である計画(X)は8×8=64ビットの情報量となる。
 本実施形態では、計画情報550に示すように、このうち複数リソースに対応した複数ビット(図4の例では4ビット=4人の作業員)を1つの変数「ワード」としてまとめ、このワードを2セットまとめて「チャンク」として、このチャンクを上述のタスクの数だけ組み合わせて計画(X)を取り扱うものとする。つまり図4の計画情報550では、リソースの数n=8、ワードのビット数p=4、チャンクを構成するワード数q=2、となっている。なお、上述のワードにおいては4ビットを含む構成例を示したが、例えば64ビットレジスタを備えた計算機では、ワードにおいて64ビットを含むとしてもよく、計算機の仕様等に応じて適宜増減してよい。いずれにしても計算機すなわち自動提案サブシステム100は、こうした構成の計画情報について、その複数ビットの処理を単一の論理演算操作で行うことで、処理の高速化を図ることとなる。
 また、解候補DB219における解候補2190は、解探索の過程で得られた解候補である。また複数の解候補2190のうち、自動提案サブシステム100からユーザ端末300に出力され、該当ユーザ端末に提示された解候補2190を提案計画21911とする。
 また、記憶装置201における承認計画220は、上述の解候補たる提案計画2191をユーザに提示したユーザ端末300が、該当提案計画2191に対する承認指示を受けた場合に、これを受けた自動提案サブシステム100が該当提案計画2191を元に承認計画220を作成し、データサーバ200に格納したものとなる。
 また、属性情報221は、上述の初期計画2180、入力計画2181における各ビットについて、対応する事象、リソースの属性を定めた情報である。例えば、或る計画情報を構成するワード配列(図4の場合であれば、8行×2列)のうち所定位置に索引付けられるワードの所定ビット(○○桁目)は、「人員A」の割当有無に対応したビット、といった対応付けとなる。
---機能構成---
 続いて、本実施形態の計画業務支援システム10における処理を主として実行する自動提案サブシステム100が備える機能について説明する。上述したように、以下に説明する機能は、例えば自動提案サブシステム100が、プログラム102を実行することで実装される機能と言える。なお、以下に例示する各機能のうち、計画業務支援処理の全般に関するものは自動提案処理部110が担い、チャンクのビット列等に対する論理演算に関するものは論理演算処理部111が担い、ユーザ端末300や状況変化連絡機400との間のデータ入出力に関するものは入出力処理部112が担うものとする。
 本実施形態における自動提案サブシステム100は、データサーバ200の計画DB218における入力計画2181における所定制約条件への違反事象を、各チャンクのビット列およびこのチャンク間における同一リソースに対応した各ビット、のそれぞれについて、所定値との所定論理演算を行ってリソースの多重割当および未割当として特定し、該当違反事象を解消すべく入力計画2181における該当チャンクのビット列に関して所定アルゴリズムによる変更を行って解候補2190を作成し、この解候補2190と入力計画2181を置換して上述の違反事象の解消および解候補作成の処理を繰り返すことで出力計画情報たる提案計画2191、承認計画220を生成する機能を備える。
 また、自動提案サブシステム100は、上述のリソースの多重割当および未割当の特定に際し、チャンクのビット列に対する論理演算を累積的に行った場合の累積値の変化傾向に基づいて、違反事象発生の有無および位置を特定する機能も備える。
 また、自動提案サブシステム100は、上述の解候補2190の作成に際し、違反事象の特定の結果、入力計画2181にリソースの多重割当が含まれていた場合、多重割当となる変数A(チャンク)とゼロ値の変数B(チャンク)を置換することにより、値が非ゼロとなるビット数を所定数とした解候補2190を作成する機能を備える。
 また、自動提案サブシステム100は、上述の違反事象の特定の結果、入力計画2181にリソースの未割当が含まれていた場合、未割当の生じたビット位置を持つ変数C(チャンク)と、前述のビット位置のビット値だけが1となる変数D(チャンク)を置換することで解候補2190を作成する機能を備える。
 また、自動提案サブシステム100は、上述の変数B(チャンク)および変数D(チャンク)の少なくともいずれかと入力計画2181を構成する他の変数(チャンク)との所定の論理演算を行うことで解候補2190を作成する機能を備える。
 また、自動提案サブシステム100は、上述の計画DB218の初期計画2180(当初計画)と解候補2190との内積値を算定し、該当解候補2190の第1の評価値を取得する機能と、上述の初期計画2180と解候補2190との排他的論理和のビット値を加算集計して、解候補2190の第2の評価値を取得する機能と、上述の第1の評価値および第2の評価値の少なくともいずれかについて、その評価値の順に解候補2190を列挙した画面データをユーザ端末300等の所定装置に出力する機能を備える。
 また、自動提案サブシステム100は、解候補2190を、上述の第1の評価値および第2の評価値の少なくともいずれかに基づいて、評価値のレベル別に分類し、レベルごとに解候補2190の数を集計して、ここで集計した値が所定値以上である場合に該当レベルの解候補2190の画面データを更新し、これをユーザ端末300など所定装置に出力する機能を更に備える。
 また、自動提案サブシステム100は、上述の解候補2190に関する処理状況をユーザ端末300など所定装置に出力する機能も備える。
---フロー例---
 以下、本実施形態における計画業務支援方法の実際手順について図に基づき説明する。以下で説明する計画業務支援方法に対応する各種動作は、計画業務支援システム10を主として構成する自動提案サブシステム100がメモリ103に読み出して実行するプログラム102によって実現される。そして、このプログラムは、以下に説明される各種の動作を行うためのコードから構成されている。
 図5は、本実施形態における計画業務支援方法の処理手順例1を示すフロー図であり、具体的には自動提案サブシステム100による処理内容を示すフロー図である。この場合、自動提案サブシステム100は、ユーザ端末300からの所定指示を受け付けて(301)、詳細は後述する全体解探索処理(302)を実行し、複数の全体解(解候補2190)を得る。
 次に自動提案サブシステム100は、ステップ302によって得た複数の全体解を入力計画2181として、これに関して所定制約条件への違反状況を判定し、当該判定で判明した制約違反箇所に関する所定の警報情報をユーザ端末300に出力する(303)。この場合、自動提案サブシステム100は、更に、そうした複数の警報表示中でのユーザによる警報選択動作をユーザ端末300を介して受け付ける。この制約違反状況の判定による制約違反箇所の特定等の処理と同様の処理が、上述の全体解探索処理(302)にて実行されるため、後述する全体解探索処理の説明で示すものとする。
 また、自動提案サブシステム100は、上述でユーザ選択された警報を解消するパターンを用いた逐次提案作成を行う(304)。上述のパターンは業務モデル217が保持する情報であり、状況情報216が示す所定状況の時、何故どういう計画変更(解候補作成)を行うべきかを定めたルールである。このパターンは状況の種類別に、計画変更内容、提案理由(解候補作成の理由)、優先順位(解候補の評価順位)等を示すデータの集合となっている。
 上述のパターンとして、ある警報に基づき、ある計画変更を行った結果が、別の警報に対する計画変更にどのような影響があるかを必ずしも考えないような局所的パターンを多種多様な業務に適応させて複数個作成することは容易である。ここで得られる逐次提案は、ユーザに注目された警報を解決する複数の案であり、計画変更内容と提案理由等の情報となる。パターンと制約条件は、状況変化連絡機400からの制御入力を得たものとして良い。自動提案サブシステム100は、こうした一連の計算過程は計算ログ215としてデータサーバ200上に逐次保存する。
 続いて自動提案サブシステム100は、上述のステップ304で生成した逐次提案内容と上述のステップ302で得た全体解との整合を取る(305)。複数の全体解の一部には逐次提案内容が解候補の一部として含まれており、自動提案サブシステム100は、逐次提案内容がどの全体解に含まれているかを判定し、逐次提案情報を更新する。例えば、複数目的のうちの1つの目的に特化したパレート最適解に含まれた逐次提案の提案理由情報には、パレート最適解に至る提案という文字列情報を付記する。
 次に自動提案サブシステム100は、入力計画2181と共に逐次提案内容を、ユーザ端末300に出力する(306)。
 続いて自動提案サブシステム100は、ユーザの提案選択をユーザ端末300より受け付けて(307)、その時点で所定の終了条件(例:ユーザ端末からの指示、警報の残有無など)を満たさない場合(308:n)、上述の入力計画2181に逐次提案選択結果を反映させて更新し(309)、処理をステップ303に戻す。つまり自動提案サブシステム100は、入力計画2181の一部を変更した結果である解候補を、入力計画2181と入れ替えて、ステップ303以降の処理を繰り返すことになる。
 ステップ309の段階では、上述のステップ303でユーザが注目した警報に関わる制約条件は満たされているため、他の警報は残っている可能性はあるが、ステップ303でユーザが注目した警報は解消されている。すなわち、上述の繰り返しの処理(ステップ303~ステップ308:n~ステップ309~ステップ303)によって、自動提案サブシステム100は、ユーザとの対話的にすべての警報を逐次的に解消していくことができる。その際、自動提案サブシステム100は、計画変更理由について、ユーザ端末300を介してユーザに逐次提示し、ユーザの判断動作を支援することができる。
 続いて、上述の全体解探索処理(302)の詳細について説明する。図6は、第1実施形態の計画業務支援方法の手順例2を示すフロー図であり、具体的には図5のフローにおけるステップ302の全体解探索処理の処理内容を説明するフロー図である。
 この場合、自動提案サブシステム100は、データサーバ200の計画DB218から入力計画2181を解候補Aとして読み込む(401)。この入力計画2181は、状況変化連絡機400やユーザ端末300からの入力に応じて初期計画2180の一部が変更された計画情報である。つまり、制約違反を含む可能性がある計画に該当する。
 次に自動提案サブシステム100は、上述の入力計画2181すなわち解候補Aが示す、所定事象およびその割当リソースについての情報として、例えば交通機関の運行予定、拠点や交通機械の稼働状況、それらに配置された人員等に関する各種データを、データサーバ200の状況情報216から取得し、ここで得た情報について、所定条件(例:ある拠点Aで交通機関Bに乗務した乗員が翌日の他拠点Cの交通機関Dの乗務予定に間に合うよう、拠点間の交通機関運行に応じた人員移動が実行されなければならない等)の違反有無について所定アルゴリズムにて分析する(402)。
 続いて自動提案サブシステム100は、上述のステップ402での分析結果に基づいて、解候補Aが所定条件を満たしているか判定する(403)。この判定の結果、解候補Aが制約未充足の場合(403:制約違反)、自動提案サブシステム100は、この解候補Aを実行可能解として、入力計画たる解候補Aにおけるチャンクでの制約違反箇所特定等の所定評価(後述)を行う(404)。
 また、自動提案サブシステム100は、上述のステップ404で解候補Aに関して特定した制約違反箇所の中から、ワードやチャンクの配列中での先頭順など所定基準で抽出した制約違反事象に関して、該当制約違反を解消するよう計画変更案A(解候補Aの変更箇所を示す部分情報と言える)を作成する(405)。この計画変更案Aの作成は、図5のフローにおけるステップ304で既に述べたパターンを用いた処理を採用してもよいし、例えば、上述の交通機関の人員所在リストをデータサーバ200の状況情報216から取得し、この情報に基づいて制約違反を解消するために割り当てる人員を移動手段に関わらず選択、割当するといった、状況情報216などの各種情報に基づき全ての可能性を網羅的に探索して生成するとしてもよい。こうした計画変更案Aは複数作成されうる。また、自動提案サブシステム100は、このステップ405で作成した計画変更案A(解候補Aに計画変更案Aを反映させたものが新たな解候補)をメモリ103内の探索リストに格納するものとする。
 他方、上述のステップ403の判定の結果、解候補Aが所定条件を満たしており、すなわち制約充足していた場合(403:制約充足)、自動提案サブシステム100は、この解候補Aを制約充足解とし、解候補Aが制約充足している旨、および、解としての良好度を初期計画2180との近似性に基づいて評価(後述)し(406)、その結果を上述のメモリ103内の探索リスト、計算ログ215、およびユーザ端末300に出力する。また、自動提案サブシステム100は、上述の制約充足解をデータサーバ200の解候補DB219における解候補として格納する。
 続いて自動提案サブシステム100は、探索順序制御を行う(407)。この場合、自動提案サブシステム100は、上述の探索リストに格納された複数の計画変更案のうち、次に計算対象とする計画変更案Bを定める。このように探索リストから計画変更案を抽出する順序については、深さ優先探索を計画解法の基本方針としてユーザが定めている場合には制約違反数の多い順、或いは幅優先探索を計画解法の基本方針としてユーザが定めている場合には、解空間において解がより浅い場所にあると推定される順に、といった既存の探索戦略に応じて決定するアルゴリズムを採用すればよい。その他にも、可能性の薄い探索方向を探索リストから早めに除外するいわゆる枝刈りの手法を採用するとしてもよい。
 次に自動提案サブシステム100は、上述のステップ405を経た実行可能解である解候補Aに、ステップ407で定めた計画変更案Aを適用することによって解候補Bを作成する(408)。この処理により、例えば計画変更案Aを適用することによって解候補Aから変更された或る人員の割当は、元の状態から状態が遷移したこととなる。また、別の計画変更案Cを解候補Aに適用することによって得られる解候補Cとは別の状態に遷移したこととなる。探索は、このような状態遷移の繰り返しによって行う。探索空間を解候補が木構造に並ぶ構造ととらえる場合、制約充足解は複数ある末端ノードとなり制約充足解から先を探索しない。実行可能解は中間ノードとなって、次の状態遷移を行う候補となる。
 また、自動提案サブシステム100は、上述までの各ステップに関する計算過程、計算状況を計算ログ215、およびユーザ端末300に出力する(409)。
 次に自動提案サブシステム100は、ユーザ端末300におけるユーザ操作、所定時刻の到来を検知するタイマ出力、所定センサ等の入力値といった所定情報を予め定めた終了条件と比較して、当該フローの終了判定を行う(410)。この判定の結果、当該フローを終了しない場合(410:n)、自動提案サブシステム100は、上述の解候補Bと解候補Aを入れ替えて、ステップ402以降の処理を繰り返す。
 他方、上述の判定の結果、当該フローを終了するとなった場合(410:y)、自動提案サブシステム100は、上述までで得ている複数の解候補(制約充足解、提案計画を含む)について、後述する目的関数を用いて評価し、その評価結果を該当解候補と対応付けて提案計画の情報としてユーザ端末300に出力し(411)、処理を終了する。この場合、自動提案サブシステム100は、上述の解候補それぞれの評価値を、所定レベルごとに分類し、各レベルごとの最大評価値、最小評価値、および平均値等の値を計算し、この計算結果を提案計画の属性情報221としてデータサーバ200の記憶装置201に保存する。上述の提案計画には、制約条件を全て満たすものの目的関数が最大値とならない全体制約充足解、目的関数のいずれかが最大値となるパレート最適解などがある。自動提案サブシステム100は、これら解候補の中から所定の評価項目を満たすものを提案計画としてユーザ端末300に出力するとすれば好適である。
 ここで、上述のステップ402~408等の処理に伴って、ステップ409で自動提案サブシステム100からユーザ端末300に出力される解探索状況のモニタリング画面501について図7に基づき説明する。図7に示すモニタリング画面501は、それまでの処理で発見した解候補と制約充足解の数、解空間を探索する幅と深さあるいは時間を表示する情報表示欄5011と、解空間における解の多様性(後述する数37の値)を縦軸、時間(ステップ404、406の実行回数)を横軸とする進捗状況マトリクス5012と、探索中断とその時点での結果表示をユーザから受け付けるボタン5013、およびキャンセルボタン5014が含まれる。このうち、上述のボタン5013がユーザ端末300にてクリックされた場合、これを受けた自動提案サブシステム100は、上述のフローにおけるステップ410の終了条件を満たすと判定することになる。
 上述の画面501における表示要素のうち、進捗状況マトリクス5012において、自動提案サブシステム100は、探索が済んだ場所は例えば黒く着色し、今後の探索予定は白く着色して表示する。探索進行に伴って、上述の黒色領域は原則的に画面左上から右下に向けて増加していく。ただし解空間には解が偏在するため、必ずしも原則通りに着色されないこともある。
 また、進捗状況マトリクス5012における解の多様性の尺度は、解評価のための目的関数の出力値を用いる。この場合の目的関数は、初期計画2180に近い解をよい解と定め、解候補と最初の時点での入力計画2181との類似度を用いる。あるいは計画変更の総数を2種類の解の距離と定義してもよい。また、例えばリソースたる人員の勤務時間合計や残業時間合計などを示す別関数を多様性の尺度としてもよい。自動提案サブシステム100は、上述の目的関数の評価値を5レベルに量子化し、進捗状況マトリクス5012における解の多様性を示す縦軸を、その5レベルに応じた5マスに分けて構成し表示している。
 なお、自動提案サブシステム100は、上述のフローにおけるステップ409において、得られている解候補の数の合計値を評価値のレベルごとに逐次集計し、あるレベルで前述の合計値が所定基準値を超えると、上述の画面501において、当該レベルで時間軸の右方向に1つ進んだマスを黒色に塗りつぶす処理を行うものとする。
 図6のフローで示した近傍探索法では、入力計画2181を起点として近傍の制約充足解を探すため、探索を中断した場合においても、ある程度入力計画2181に近い解が得られる。また、本実施形態では省メモリなデータ構造で情報管理を行うため、探索リストに割り当てたメモリに多くの解候補を格納できる。従って、探索リストから計画を抽出する際にFIFO順に解評価を行う(幅優先探索)と、処理中断時に得られた解集合には、入力計画2181の近くで幅広い解の多様性が期待できる。入力計画2181と大幅に異なる解候補は、ユーザが想像もしない、あるいは、見落としがちな意外な解決方法を提供しうる。
 また図7で、上述のステップ411により自動提案サブシステム100からユーザ端末300に出力された画面502の例を示す。ここで示す画面502は、解の評価結果を一覧表示する画面となる。自動提案サブシステム100は、上述のステップ411において、複数の解候補を複数の目的関数を用いて評価し、それぞれの評価値をキーとするソートを行って出力する。ここで、ある評価値が最大値となる解候補はパレート最適解であり、比較検討する上で目立つよう、自動提案サブシステム100は、画面502上の矩形5021で囲む形で強調表示処理をする。
---各ステップのアルゴリズム詳細---
 ここで、上述のフローにおける各ステップで用いるアルゴリズムの詳細について、必要な数式も含め、より具体的に説明する。
<説明に使用する主な変数の定義>
 まず、以下の数1~数8を用いて、説明に使用する主な変数の定義について示す。例えば、n人の作業者とn個のタスクがあるとき、i番目の作業者をj番目のタスクに割当てる計画を考える。下記の数1に示すように、計画をブール値集合である行列X(i,j)によって表し、計算によって求める解とする。
Figure JPOXMLDOC01-appb-I000001
・・・・・・・数1
 
 このX(i,j)の要素値について、ゼロであれば割当てがなく、1のときに割当てがある。この構成は図4のマトリクス500に対応する。こうしたX(i,j)の取りうる組合せは2^(n×n)種類あり、その集合は解空間と呼ばれる空間を構成する。計算によって解空間中から所定の制約条件を満たし妥当な解を探す処理を探索と呼ぶ。
 また、下記の数2に示すように、計画には、どのタスクにもひとりの作業者が割り当てられるという制約条件がある。
Figure JPOXMLDOC01-appb-I000002
・・・・・・・数2
 
 さらに、下記の数3に示すように、どの作業者にもひとつのタスクが割り当てられるという制約条件がある。
Figure JPOXMLDOC01-appb-I000003
・・・・・・・数3
 
 また、数4に示すように、i番目の作業者がj番目のタスクを担うコストが定義できる場合には、変数アルファα(i,j)を用いて目的関数f()を表すことができる。このとき、目的関数f()を最小化する計画はコスト最小となる最適解である。コストの代わりにパフォーマンス等の別の指標を用いても同様に表現できる。
Figure JPOXMLDOC01-appb-I000004
・・・・・・・数4
 
 このような目的関数f()を簡単な形で一意に定義できない場合には数理的な最適解が存在せず、既存の最適化手法を適用できない。あるいは、定義できても、制約条件が複雑な問題や大規模な問題などでは、実用時間内に最適解を求めにくいことも多い。本実施形態で用いる近傍探索法は、初期値を起点として初期値に近い解を探索する発見的手法であり、最適解に近い解を探す方法のひとつである。なお、他の近似解求解方法にも本発明を適用可能である。
 また、数5に示すように、自動提案サブシステム100におけるレジスタが一度に扱うビット数(p)のビット集合を備える変数をワード(W)と呼ぶ。q個のワード集合(p*q=n)をチャンク(C)と呼ぶ。計画(X)はn個のチャンク集合である。この構成は図4における計画情報550に対応する。
Figure JPOXMLDOC01-appb-I000005
・・・・・・・数5
 
 さらに、数6に定義を示すように、制約条件を一部充足しないかもしれない入力計画(A)を起点として、この入力計画に近い解候補(X’)であって、制約条件を満たす解となる提案計画を自動提案サブシステム100は探索する。入力計画は制約充足解にある程度近い前提とする。例えば、制約条件を満たした初期計画2180の一部を、現在の状況に応じて一部変更したものが入力計画である。
Figure JPOXMLDOC01-appb-I000006
・・・・・・・数6
 
 ここでは、上述のワード、チャンクに対する論理演算やビット操作を行う関数を用いる(XOR,AND,OR、SHIFTなど)ものとする。さらに、数7に示すように、ワード、チャンクのビット集合を1つの多値変数値として解釈する関数をVal(w)、Val(h)と記述する。比較演算の説明のために定義する関数であるが、チャンク変数は極めて大きな値を取りうるため、これを必ずしも直接的に数値化する実装でなくてもよい。以降で説明する処理手順と技術的に等価であって、数値化せずにチャンク同士の大小比較判定や論理演算等を行うアルゴリズム実装は容易である。
Figure JPOXMLDOC01-appb-I000007
・・・・・・・数7
 
 また解探索において、自動提案サブシステム100は、制約条件を満たさない入力計画において、制約未充足箇所を特定した後に、入力計画近傍にある解候補を探索する。局所的に制約を充足している既存の割当をなるべく変更しない。さらに、数8に示すように、自動提案サブシステム100は、変更を行った記録を管理するリソース管理リストah、bhを用いて、連鎖的な変更によって同じ解候補を何度も探索しないように探索方向を制御する。このリソース管理リストにおいて、あるビット値がゼロであれば、対応するリソースはまだ変更前であることを意味し、ビット値1であれば変更済みを意味する。リソース管理リストは、解候補X’についての属性情報である。自動提案サブシステム100は、このリソース管理リストを、データサーバ200上の解候補116および属性情報221において保存、更新する。
Figure JPOXMLDOC01-appb-I000008
・・・・・・・数8
 
 
<近傍探索法の処理フロー>
 次に本実施形態における近傍探索法(図6のフロー)の更なる詳細説明を以下に示す。この場合、自動提案サブシステム100は、ステップ401に対応したステップSAにおいて、入力計画を解候補Xの初期値として探索リストに格納する。
 次に自動提案サブシステム100は、ステップ402およびステップ403に対応したステップSBにおいて、上述の探索リストから解候補Xを抽出して、制約条件を充足するかどうか判定する。
 続いて自動提案サブシステム100は、ステップ404およびステップ405に対応したステップSCにおいて、上述の判定の結果、解候補Xが制約条件を充足しない場合、局所的に問題を解決する別の解候補X’を作成する(多重割当の解消、未割当の解消)。
 また自動提案サブシステム100は、ステップ406に対応したステップSDにおいて、上述の判定の結果、解候補Xが制約条件を充足する場合、その解候補Xの評価を行う。
 次に自動提案サブシステム100は、ステップ407~410に対応したステップSEにおいて、終了条件に関して判定し、フローを終了しない場合は上述のステップSBに処理を戻す。他方、フローを終了する場合、自動提案サブシステム100は、これまでの計算結果をユーザ端末300に出力する(ステップ411)。上述の終了条件にはユーザ操作による中断を含む。
 
<ステップSB:制約条件の確認方法>
 ここで上述のステップSBについてその詳細を示す。計画が制約未充足となる状況には、多重割当と未割当があり、さらに、それぞれの状況にはチャンク内の場合と複数チャンク間の場合がある。これらの組合せとして下記の4通りの制約未充足状況がある。例えば、チャンク内の多重割当とは、そのチャンクにおいて複数のビット値が1となっている状態をいう。また、チャンク間の多重割当とは、複数のチャンクにおいて特定のビット位置のビット値が1となっている状態をいう。
・チャンク内の多重割当
・チャンク内の未割当
・チャンク間の多重割当
・チャンク間の未割当
 自動提案サブシステム100は、制約条件の評価においては、計画を構成するビット値の多くがゼロ値であることを利用してワードやチャンク単位で処理を行う。まず、数9に示すように、チャンクにおけるq個のワード集合について、q回ゼロ値と比較した後に、非ゼロのワード要素がひとつだけであって、かつ、その構成ビット値の総和が1となれば、そのチャンク内に多重割当と未割当はないと判定する。
Figure JPOXMLDOC01-appb-I000009
・・・・・・・数9
 
 次に自動提案サブシステム100は、複数チャンク間での関係を調べる。この場合、上述の数9を用いてチャンク内に多重割当も未割当もないことを予め調べたチャンクを前提とする。自動提案サブシステム100は、下記の数10に示すように、チャンクの排他的論理和を累積的に計算していく。もし、計画が制約条件を満たしていれば、任意の複数チャンク間でビット値が1となるビット位置が衝突しない。また、2つの変数の排他的論理和を計算すると、ビット値が異なる位置のみ値が1となる。結果として、排他的論理和の累積値をVal関数で数値化すると単調増加する。そこで自動提案サブシステム100は、この特徴量を利用して、チャンク単位で複数チャンク間での多重割当と未割当の問題の有無、位置を同時に判定する。
Figure JPOXMLDOC01-appb-I000010
 
・・・・・・・数10
 
<ステップSC:解の探索方法、チャンク内の多重割当の解消>
 次に上述のステップSCについてその詳細を示す。多重割当には、チャンク内での多重割当とチャンク間での多重割当がある。このうちチャンク内の多重割当は、あるチャンクにおいてビット値が1となるビットが複数存在する状態をいう。一方、チャンク間の多重割当は、あるチャンクにおいてビット値が1となるビット位置において、別のチャンクの同じ位置にあるビット値が1となる状態をいう。
 そこでまず、自動提案サブシステム100は、チャンク内での多重割当の解消を行う。この時、自動提案サブシステム100は、数11に示すように、s番目のチャンク内にワードの値が非ゼロとなるワードが何個あるかを調べる多重割当第1判定を行う。この判定の結果、ワードの値が非ゼロとなるワードをxmax個発見した場合、自動提案サブシステム100は、該当チャンク内における非ゼロのワードの位置を示す索引の集合情報を一時変数uに格納する。
Figure JPOXMLDOC01-appb-I000011
 
・・・・・・・数11
 
 集合uのx番目に索引付けられる非ゼロのワードをw(u,x)と示す。数12に示すように、非ゼロのワードが複数ある場合、自動提案サブシステム100は、そのいずれかひとつを残すチャンク変更案c’を複数作成する。
Figure JPOXMLDOC01-appb-I000012
・・・・・・・数12
 
 さらに自動提案サブシステム100は、チャンク変更案(あるいは多重割当第1判定を合格したチャンク)において、数13に示すように、上述のw(u,x)に対して、さらにビット値1となるビット数を調べる多重割当第2判定を実行する。
Figure JPOXMLDOC01-appb-I000013
・・・・・・・数13
 
 この数13の判定において、非ゼロのワードw(u,x)にビット値1となるビットが複数個含まれて制約未充足の場合、自動提案サブシステム100は、そのいずれかひとつを残すようワード変更案w’を作成する。非ゼロのワード内でビット値1の位置を示す索引の集合をvとする。さらに、位置(v、y)のビット値だけを1とする関数SHIFT()を用いる。このとき、w(u,x)内のビット位置(v,y)にあるビット値1を残したワード変更案w’(u,x)(v,y)は数14により得られる。
Figure JPOXMLDOC01-appb-I000014
・・・・・・・数14
 
 以降ではu,vの表記を略して、x番目のワードでy番目のビットの位置をビット位置(x、y)と記す。自動提案サブシステム100は、数15に示すように、w’を入力計画の対応するワードと差し替えることによって、チャンク変更案h(x,y)を得る。
Figure JPOXMLDOC01-appb-I000015
 
・・・・・・・数15
 
 上述の多重割当第1判定、多重割当第2判定いずれかあるいは両方で制約未充足と判定される場合、自動提案サブシステム100は、複数のチャンク変更案h(x,y)を生成する。それらの組み合わせが提案計画の構成要素となる。そのとき、チャンク変更案h(x,y)でのビット値が1となるビット位置において、他のチャンクに既存の割当計画があった場合には、多重割当の制約違反となる。そこで自動提案サブシステム100は、数16に示すように、チャンクh(x,y)の否定と他のチャンクとの論理積を計算することによって、組み合わせに伴って他のチャンクにおける既存の割当を解除したチャンク集合を作成する。これを解候補X’と呼ぶ。この解候補X’は、チャンク内の多重割当解消に伴って複数個作成される。さらに自動提案サブシステム100は、入力計画の中に多重割当を含むチャンクが複数あれば、その組み合わせとして解候補X’を作成する。解候補X’の数は、チャンク内にあるビット1の数に基づく。解候補X’においてチャンク内の多重割当は解消されている。
Figure JPOXMLDOC01-appb-I000016
 
・・・・・・・数16
 
<ステップSC:解の探索方法、チャンク間の多重割当の解消>
 つぎに自動提案サブシステム100は、複数チャンク間での多重割当を解消する。数10で示したように、チャンク間での多重割当がある場合、累積的にチャンクの排他的論理和を計算していくと、同じビット位置で2回目の1が見つかった箇所で排他的論理和の累積値が減る。数10を用いて問題を検知したチャンクをfound番目とする。ここでの自動提案サブシステム100は、数17に示すように、逆順に排他的論理和の累積値を調べることによって、found番目のチャンクと衝突を起こしたlost番目のチャンクを見つけることができる。ここまでの処理において、チャンク内の多重割当が解消された後なので、衝突が起きた場合、2つのチャンクは同じ値である。
Figure JPOXMLDOC01-appb-I000017
 
 
・・・・・・・数17
 
 ここで自動提案サブシステム100は、数18に示すように、found番目のチャンクとlost番目のチャンクのどちらかをゼロとするチャンク修正案を作成する。このチャンク修正案は複数個生じうる。また、解候補X”は、チャンク修正案を入力計画に反映させた解候補である。この解候補X”は、チャンク間の多重割当解消に伴って複数個作成されうる。解候補X”の数は、同一位置にある衝突ビットの数に基づく。数18の処理によって、解候補X”においてチャンク内およびチャンク間の多重割当は解消される。すなわち、以降では、解候補X”におけるチャンク内およびチャンク間の未割当の問題に集約される。
 なお、解候補X’をベースとして解候補X”を作成する場合、探索対象となる提案計画の数は、解候補X’の数mh’と解候補X”の数mh”の算術積(mh’*mh”)が最大値となる。チャンク内の多重割当となったビット位置が、同時にチャンク間の多重割当にも該当する場合に、提案計画の数は算術積未満となる。
Figure JPOXMLDOC01-appb-I000018
 
・・・・・・・数18
 
<ステップSC:解の探索方法、未割当リソース同士の割当>
 多重割当がないと判定された入力計画(あるいは、多重割当を解消した解候補も以下では入力計画と呼ぶ)には未割当のチャンクが含まれうる。この場合、自動提案サブシステム100は、数19に示すように、あるチャンクの値がゼロの場合、当該チャンクに割当がないと判定する。
   
Figure JPOXMLDOC01-appb-I000019
 
・・・・・・・数19
 
 ここで自動提案サブシステム100は、数20に示すように、累積的に複数チャンクの論理和を計算していくと、複数チャンク間で未割当となるビット位置では、論理和で対応するビット値がゼロとなる結果が得られる。このことは、論理和累積値の否定がゼロとならない場合、計画に未割当があって、非ゼロのビット位置が未割当と判定することと等価である。数2のような複数ビットの総和計算と異なり、論理和の操作は変数単位で並列に処理するので処理が高速である。
Figure JPOXMLDOC01-appb-I000020
 
・・・・・・・数20
 
 多重割当のない計画において未割当チャンクがm個あるとき、チャンク間未割当の数(全チャンクで特定のビット位置が未割当となるようなビット位置の数)は原理上m個である。入力計画を探査の起点とするヒューリスティックスでは、未割当となるm人とmタスクを抜粋した計画問題の範囲に解空間をまず限定して全件探索する。入力計画が制約充足解に近い前提において、m<<nが成り立つ。このため、抜粋した計画問題の制約充足解の総数m!(mの階乗)は、元の計画問題の制約充足解の総数n!よりも十分小さい。
 なお、解探索の効率について補足説明する。数1に示す問題では解空間全体に2^(n*n)個の解候補があって実行不可能解が大半を占める。総当り方式は、実行可能な制約充足解だけを機械的なインデックス順に体系的に総当たりヒューリスティックスを用いることによって、n!個の制約充足解を拾い出す方法をいう。この総当り方式では、大きなnでの計算量は極めて多く、実用時間内にすべての制約充足解を抽出できないことも多い。さらに、もし探索を中断した場合に、総当り方式では解空間で偏った場所しか調べられていない結果(例えば、特定の人の割当が固定的など)が出てしまい、入力計画と大きく乖離した結果しか得られない状況になりやすい問題があった。一方、本実施形態の近傍探索方式は実用的に高速であると共に、途中で処理を中断した場合においても、入力計画の近傍である程度妥当な解を得る具体的な方法を示している。
 
<ステップSC:解の探索方法、未割当解消を起点とする広域探索>
 上述の近傍探索法はヒューリスティクス解法のひとつであり、近傍から少し離れたところのよりよい解を見落とすことがある。メタヒューリスティクスは、ヒューリスティクス解法が局所最適解の発見に満足して終わることのないようにする工夫をいう。近傍探索法の場合、状況を改善しない解候補を確率的に探索範囲に含める方法や複数の探索開始位置を用いる方法などが使える。実際、上述した未割当リソース同士の割当によって得られる解候補には、入力計画における既存の割当を別のリソースに割当て変える解候補が含まれない。しかし、実用的な計画業務では既存の割当を解除する場面が少なからず生じる。そこで、多重割当がなく未割当がある入力計画において、未割当を起点として実行可能な組合せを探す広域探索メタヒューリスティクスを加える。特に、ある場所の未割当を解消するために既存の別の割当を解除することを含む。
 ここで、チャンク内の未割当を解消する方法について説明する。z番目のチャンクがチャンク内未割当であって、かつ、リソース管理リストbhで未探索の場合、自動提案サブシステム100は、数21に示すように、部分集合として位置(x,y)にビット値1を設定した変更ワードw(x,y)を作成する。
Figure JPOXMLDOC01-appb-I000021
  
・・・・・・・数21
 
 さらに自動提案サブシステム100は、リソース管理リストahにおけるx番目のワードaw(x)と、変更ワードw(x,y)の排他的論理和の値を調べる。リソース管理リストでゼロだったビット位置に変更ワードのビット値1が当たると、排他的論理和の値はリストの値よりも大きくなる。ここで自動提案サブシステム100は、数22に示すように、この識別方法によって変更するビット位置(x,y)の候補を絞り込むと共に、変更した位置については論理和を用いてリソース管理リストを更新する。
Figure JPOXMLDOC01-appb-I000022
 
・・・・・・・数22
 
 さらに自動提案サブシステム100は、数23に示すように、入力計画でのz番目の未割当チャンク、x番目のワード、y番目のビット位置だけにビット値1を設定した配列としてチャンク修正案h(x,y,z)を作成する。
Figure JPOXMLDOC01-appb-I000023
  
・・・・・・・数23
 
 次に自動提案サブシステム100は、数24に示すように、チャンク修正案h(x,y,z)の否定との論理積を作成して、解候補X’を作成する。この論理積によって既存の割当が解消されるため、未割当の解消に起因する新たな多重割当は生じない。ただし、未割当の解消に起因する新たなチャンク内未割当は生じうる。これに対処するため、自動提案サブシステム100は、当該位置zのビット値を1にするようリソース管理リストbhを更新する。
Figure JPOXMLDOC01-appb-I000024
 
・・・・・・・数24
 
 つぎに、解候補において、チャンク間の未割当を解消する方法について説明する。解候補X’にチャンク内未割当がある場合、チャンク内の未割当を解消する方法を繰り返し適用することによって、別の解候補を探すことができる。ここで自動提案サブシステム100は、z番目のチャンクが入れ替え可能かどうかはリソース管理リストbhを用いて判定する。数25に示すように、複数チャンク間で未割当が生じているビット位置を(x,y)とすると、自動提案サブシステム100は、当該位置でのみビット値1を持つチャンク変更案を作成する。さらに自動提案サブシステム100は、既存のチャンクと入れ替えた解候補を作成する。
Figure JPOXMLDOC01-appb-I000025
 
・・・・・・・数25
 
 チャンク内未割当の解消方法で用いた論理積操作と同様に、この入れ替え操作は既存の割当を考慮しないため、既存の割当があったビット位置には、新たにチャンク間の未割当を生成しうる。その場合、チャンク間の未割当を含む解候補となる。自動提案サブシステム100は、リソース管理リストah、bhの制約下でチャンク間の未割当を解消する方法を繰り返し適用することによって、次々と解候補を探すことができる。
 或る解候補に多重割当がなく、かつチャンク内の未割当がすべて解消された場合、チャンク間の関係を調べなくとも、その解候補は制約充足解である。同様に、或る解候補に多重割当がなく、かつチャンク間の未割当がすべて解消された場合、その解候補は制約充足解である。自動提案サブシステム100は、いずれのアプローチによってでも解候補を次々調べて繰り返し探索してゆくことによって、すべての制約充足解を探索できる。リソース管理リストが解候補に付随して探索範囲の抑制に寄与するため、チャンク内の未割当解消とチャンク間の未割当解消という2つのアプローチを併用しても同じ解を重複探索しない。すなわち、可能な組合せを探索しつつ必ず収束する。
 以上の処理によって、自動提案サブシステム100は、初期の入力計画を起点として制約充足解を全件探索できる。複数の制約充足解同士の比較評価においては、数4の計算式を用いて最適解を比較抽出してもよい。
<基本計算式通りに実装する基本実装方式と比べた計算量の効果>
 次に、割当計画問題を解く既存解法と比べて本実施形態における解法が計算量に関して優れる効果について説明する。本実施形態におけるビット集合を用いた論理演算に基づく処理方法では、論理演算が複数ビット情報の並列処理に相当し、処理が高速である。
 ここではまず、制約条件の評価方法の計算回数についての効果を説明する。比較として数2および数3の計算式通りに実装する基本実装方式の計算量についてはじめに考える。制約条件を充足するn*n行列の解候補Xに対して、基本実装方式では、縦横2方向で(2×n×n)回の加算演算を行い、2n個の総和値について1との比較演算を2n回行って問題の有無を判定する。
 一方、本実施形態の方式では、ある程度制約を満たす計画Xにゼロ値が多いことを利用して、チャンク内の処理(水平方向)では、pビット(p×q=n)のワードを用いて、n×(p+q)回の論理演算を行う。ゼロ値との比較回数は(q+1)回である。また、チャンク間の処理(垂直方向)では、ビット値の変化に反応する排他的論理和の特徴を利用することにより、累積的にn回のチャンク論理演算(実装上はn×q回のワード論理演算)を行う。排他的論理和の累積値との比較回数はn回である。すなわち、2つの制約条件に関わる合計計算回数は(n×(p+2q))回、合計比較回数は(n+q+1)回となる。
 p×q=nと定義があるので、2×n×n>(n×(p+2q))、および、2n>(n+q+1)が成り立つ。従って、本実施形態の方式は基本実装方式よりも計算回数が少なく省メモリで高速である。
 もし解候補が制約条件を充足しない場合、チャンク内、ワード内で問題となるビット位置を特定する比較演算が加わる。この場合においても、入力計画にゼロ値が多いスパースな状態(値が非ゼロのワード数がk個(k<<n))の場合には、本実施形態における方式の比較演算数はn*(p+k*q)であり、基本方式の比較演算回数n*nより少なく、優位である。すなわち本実施形態の式は基本実装方式より実用上高速である。
 つぎに解探索の計算量についての効果を説明する。数1に示す問題では解空間全体に2^(n*n)個の解候補があって実行不可能解が大半を占める。総当り方式は、ヒューリスティックスを用いて実行可能な制約充足解だけを機械的なインデックス順に体系的に総当たりすることによって、n!(nの階乗)個の制約充足解を拾い出す方法をいう。多項式時間で計算できないため、大きなnでの総当り方式の計算量は極めて多く、実用時間内にすべての制約充足解を抽出できないことも多い。さらに、もし探索を中断した場合に、解空間で偏った場所しか調べられていない結果(例えば、特定の人の割当が固定的など)が出てしまい、入力計画と大きくかい離した結果しか得られない状況になりやすい欠点があった。
 一方、本実施形態の方式における理論上最悪の入力は入力計画においてすべてのビット値が0の場合であり、誰にもタスクが割り当てられていない。このとき、多重割当の判定は合格するものの、未割当の解決のためにn!通りの制約充足解数分の探索回数を要する。このため、総当り方式と同程度である。しかし、ある程度妥当な計画を入力計画の初期値とする前提で用いるため、入力計画での未割当リソースがm個(m<<n)とすると、制約充足解数でm!<<n!なので、多くの場合に総当り法式より早く処理を終えることができる。
---第2実施形態---
 第2実施形態では、鉄道乗務員運用整理業務について本実施形態の計画業務支援技術を適用した例について示す。鉄道乗務員がどの列車を担当するかを計画する業務は運用整理業務と呼ばれ、第1実施形態と同様の割当問題を解くことが求められる業務である。そこで、第2実施形態の説明に用いる数式および図は第1実施形態と共通しており、構成、動作が同じ箇所については説明を省略するものとする。また第2実施形態では、図5と図6のフローにおいて差分となる箇所の説明を主に行う。また、図9~11、および、数26~数35を用いて、全体解探索に相当する処理を中心に説明する。
 まず図5を用いて第2実施形態における自動提案サブシステム100の処理内容を補足説明する。この場合、ステップ303において、自動提案サブシステム100は、入力計画の制約未充足箇所をユーザに対する警報としてユーザ端末300に出力する。また、自動提案サブシステム100は、ユーザ端末300から、当該警報の示す制約を局所的に充足する局所的選択肢の探索指示を受ける。
 次に自動提案サブシステム100は、ステップ304において、乗務員と列車の情報が格納された状況情報216から局所的選択肢を検索する。この局所的選択肢は、提案(列車、乗務員)、提案理由、提案順位から構成する情報であって、提案理由情報には検索する時に用いた検索キーを元に検索内容に対応するあらかじめ定めた文字列を作成する。どういう警報に対して何を検索すればよいかのロジックは複数のパターンとしてあらかじめ記憶装置101にて定めて保持しておく。
 また自動提案サブシステム100は、ステップ305において、上述の局所的選択肢と、ステップ302において計算した提案計画(全体解)との整合を取る。具体的には、或る提案計画の中に局所的選択肢が含まれていれば、当該提案計画の属性情報(当該局所選択肢が最適解の一部を構成することなど)を提案理由情報の文字列に追記する。提案理由に全体解としての特徴を加えることによって、これを閲覧するユーザは、全体解である提案計画と逐次的な局所的選択肢との整合を行いつつ、個々の逐次的な局所的選択肢のどの提案が最適解に至る要素となっているかが判別できる。提案理由情報が強化されるため、ユーザの意思決定を支援できる。
 続いて自動提案サブシステム100は、ステップ306において、図10で例示する画面503をユーザ端末300に出力する。この画面503は、提案計画の属性情報(最適解など)をユーザ端末300に出力させた画面例である。こうした画面503では、「列車番号35番」の列車に乗務する乗務員が未割当であった場合に、乗務員番号が「102番」、「103番」、「104番」の各乗務員が乗務可能であるとの検索結果を提案として出力している。
 次にステップ307において、自動提案サブシステム100は、上述のユーザが画面503で所望の提案を選択したことをユーザ端末300から受け、該当提案(列車、乗務員)を入力計画に反映して状態遷移させる。この状態遷移した計画において、もしまだ制約未充足箇所がある場合、自動提案サブシステム100はステップ303に処理を戻し、これらの処理を繰り返すことにより、対話的に問題解決を実行する。或いは対話的に解決せずに、一度に提案計画を受け入れるように制御あるいは操作誘導してもよい。
 ここで図6を用いて、第2実施形態における全体解探索の処理内容を補足説明する。この場合、自動提案サブシステム100は、ステップ404において、解の評価を行う時に、どの時刻で制約未充足となっているかを特定して、時刻情報(~m)を解候補の属性情報221としてデータサーバ200の記憶装置201に保存する。
 続いて自動提案サブシステム100は、ステップ405において、探索中に変更済みかどうかについてリソース管理リストを用いて管理する。自動提案サブシステム100は、リソース管理リストに矛盾しない計画変更案を作成すると共に、計画変更案で使用したリソース(乗務員、列車等)についてリソース管理リストを更新保存する。第2実施形態におけるリソース管理リストは一次元配列情報であり、リソースの種類に時間が加わることと、長さが異なることが第1実施形態(数8、ah、bh)との相違点である。
 次に自動提案サブシステム100は、ステップ406において、解の評価を行い、さらに、制約充足した解候補であることと合わせて属性情報221として作成し、データサーバ200の記憶装置201に保存する。
 またステップ409において、自動提案サブシステム100は、計算状況を出力する時、図7で例示した画面501をユーザ端末300に出力する。また自動提案サブシステム100は、ステップ411において、解候補を評価値の順にソートすることによって、解の優劣や最適解を決める。このステップ411において、自動提案サブシステム100は、上述のソート結果を図8で例示した画面502としてユーザ端末300に出力する。特定の評価値が最大となる解はパレート最適解である。探索中断時においても、探索した範囲で特定の評価値が最大となる解をパレート最適解の候補と呼ぶ。
 図9は第2実施形態における計画情報950の説明図である。図9で示す計画情報950は、ビット集合を用いて、乗務員がいつ何の業務(列車乗務、駅待機等)に割当てられるかの計画を1ビットの位置情報として表現する。時間単位ごとの量子的な時間軸を備え、終了時間mとする。横軸に、乗務員数nに加え、列車の滞泊を示す特別乗務員番号(0)を備える。縦軸に、列車数a、駅数bに加え、乗務員の滞泊を示す特別位置番号(0)を備える。すなわち、1つの計画情報全体で、m×(n+1)×(a+b+1)個の3次元ビット集合を構成する。3次元より次元数が多くてもよい。
 この計画情報950が3次元構造であっても、図4の計画情報550で示すようなワード、チャンク変数に格納できる。時間軸方向のビット集合をワード変数に格納してもよい。自動提案サブシステム100は、こうした変数を操作する論理演算によって、複数ビットの情報を並列に処理できる。また第1実施形態同様に、制約条件の評価、解の探索、解の評価が変数単位で高速に処理できる。
 こうした計画情報950が満たすべき制約条件には、次のものが含まれる。乗務員列の縦方向には、値が1となるビットが原則1個となる。すなわち、乗務員は同時に2か所に存在しえず、どこかに存在する。この条件は第1実施形態における数2の条件と等価である。
 また計画情報950が満たすべき制約条件には、さらに、業務行の横方向には、値が1となるビットが0個以上となる条件がある。すなわち、ある列車には複数の乗務員が乗ることができる。この条件は第1実施形態における数3の条件を緩和するものの、他の関連する複雑な制約条件の影響を受けるものである。値が1となるビットの数が、0個の場合は割当乗務員が不在(制約未充足)、1個の場合は担当乗務員が存在、2個以上の場合は、担当乗務員に加えて便乗乗務員が存在する。その他に、乗務員の滞泊地が初期計画のものと変更後の提案計画で一致すること、列車への乗継時間を確保することなどが制約条件として加わる。
 計画情報950を構成する別の例では、構成要素の多くがゼロ値である場合等には、時空間にまたがる複数チャンクをひとまとまりの変数とするブロック変数を操作単位に用いてもよい。このとき、ブロック変数の有無だけを表す別のビット集合である圧縮状況変数を併用することにより、計画情報は大幅にデータ容量が圧縮できると共に、変数の論理演算回数も大幅に減らすことができる。すなわち、メモリ省資源にかつ高速に処理できる。圧縮状況変数の要素値をゼロと比較することによって、圧縮された計画情報から直接的に状況判定ができる。
 また、計画情報950を構成する別の例では、時刻単位で複数チャンク変数集合をまとめて、これをひとつのスライス変数とする。値が非ゼロとなるスライス変数の有無を示す1次元ビット集合を圧縮状況変数sh(サイズm)と呼ぶ。圧縮状況変数shと、値が非ゼロとなる複数個のスライス変数集合によって、圧縮された計画情報を構成できる。時刻tと時刻(t+1)のスライス変数が同一値の場合、すなわち、
 Val(sh(t))=Val(sh(t+1))
となる時に、圧縮状況変数shの(t+1)番目の要素値をゼロとする。圧縮した計画情報を解凍する方法では、まず、t番目の要素が非ゼロであれば、スライス変数集合の中で対応するスライス変数を計画情報のt番目時刻の情報として設定する。さらに、圧縮状況変数shの(t+1)番目の要素がゼロであれば、(t+1)以前に圧縮状況変数shの要素が非ゼロとなるt番目のスライス変数を計画情報の中に設定する。このようにして、圧縮前と同じ計画情報を再構成できる。再構成しなくとも、圧縮状況変数shの要素値がゼロであれば、当該スライスの処理は以前の時刻と同じ状況なので状況判定や解候補作成対象から除外してもよい。メモリ省資源にかつ高速に処理できる。
 なお、計画情報950が満たすべき制約条件には、多種多様な条件がある。列車の乗り継ぎや時刻表に従った営業運転には所定の制約があり、その制約を計画に反映するために、後の計算で用いるデータをあらかじめ作成しておく。特定の列車に対応する唯一的な列車番号があるように、ビット集合のそれぞれのビット値には、対応する実情報と物理的な対象がある。ビット集合ではビット値の並びが直接索引となる。そこで実情報を対応する順番通りに並べて、実情報を属性情報221の中にあらかじめ作成して保存しておく。
 数26~数29は、自動提案サブシステム100の自動提案処理部110において、ステップ302の全体解探索処理以前にあらかじめ作成してメモリ203やデータサーバ200に格納しておく変数を示す。
 数26に示すように、計画情報950を3次元ビット集合Bの変数として型定義する。変数Bは図9に示す概念図と技術的に等価である。これは、時刻mまでの時間ごとにn人の人に(a+b)個のタスクを割当てる計画を表現する。例えば、変数Bのビット値が1の場合に、当該時刻の対応する乗務員に対応するタスクを割り当てている状態を示す。タスクはlocation変数を用いて乗務員の位置を示し、a個の列車のいずれかに乗務するか、b個のいずれかの駅で待機するか、滞泊等により計画外に位置するか(ゼロ値)、である。そして、集合Bの部分集合として入力計画sB、提案計画(あるいは解候補)pBを定義する。これらは、入力計画2181、提案計画2191と技術的に等価である。
Figure JPOXMLDOC01-appb-I000026
  
・・・・・・・数26
 
 また数27に示すように、入力計画の一部を抜粋して、時間と位置(列車)の部分集合tTを作成する。部分集合tTは運行予定表であり、例えば、ある列車がある時刻にビット値1となる場合、出発前到着後の作業時間を含めて列車が運行中であることを示す。運行予定表では、乗務員が列車の出発準備、および到着後の到着作業に要する作業時間を、列車の運行時間に含めて作成してもよい。その場合、実際の列車の運行時刻は列車運行時刻表の中で別途定めておく。
Figure JPOXMLDOC01-appb-I000027
  
・・・・・・・数27
 
 また数28に示すように、ビット集合として列車の時刻表jTを作成する。例えば、loc_depart(出発駅)をtime_depart(出発時刻)に出るloc(列車)は、loc_arrive(到着駅)にtime_arrive(到着時刻)に到着する計画を示す。jTはこれら5項目の一覧表であり、列車ごとに駅と時刻の関係をまとめた時刻表に相当する。
Figure JPOXMLDOC01-appb-I000028
  
・・・・・・・数28
 
 また数29に示すように、出発駅、列車、到着駅の関係を示すビット集合として行路情報tBを定める。例えば、ある行路において、列車jobは出発駅location1で時刻time1に乗車可能と示すよう、location1に対応するビット値を1と設定する。所定の時間が経過すると、時刻time2には列車jobは到着駅location2に到着する。時刻time2以降、到着駅location2の値を1と設定する。
 
Figure JPOXMLDOC01-appb-I000029
  
・・・・・・・数29
 
 ここで、図6のフローに示すように、ステップ401において入力計画sBを読み込み、それを探索の起点として解空間の中から妥当な解となる提案計画pBを探す近傍探索を行う方法を説明する。
 この場合、数30に示すsB_per変数は、計画DB218の初期計画2180、入力計画2181を乗務員ごとに圧縮した情報であり、また、場所(列車)と時間の関係を示す2次元情報である。このsB_per変数は、計画sBにおけるある列車のある時刻における全乗務員のビット値を加算集計して、探索前にあらかじめ作成しておく。sB_per変数のビット値が1となる場合、当該時刻に当該列車には乗務員が割り当てられていることを示す。所定の計画では乗務員が適切に割り当てられていて、数30に示したsB_perの制約条件を満たす。
 数30に示したpB_per変数は、解候補(提案計画)について、sB_per変数と同様に加算集計により圧縮した情報であり、自動提案サブシステム100がステップ402において作成する。pB_per変数の一部では、sB_per変数と同じ制約条件通りにならない場合がある。列車遅延などのトラブルが発生した場合など、計画に変更があった場合に当該制約条件は必ずしも満たされない。

Figure JPOXMLDOC01-appb-I000030
 
・・・・・・・数30
 
 数31、数32および図11を用いて、ステップ402、ステップ403の状況分析処理の一部内容を説明する。この場合、数31において、rank()関数は提案計画pBのビット値の数を数える関数であり、自動提案サブシステム100は、その計算結果が1とならない場合に制約違反と判定することにより、制約条件を充足するかどうか状況分析を行う。数31は、ビット値を縦方向、あるいは横方向に加算集計する計算結果を判定する処理と判定結果が等価であり、第1実施形態における数2、あるいは、数3の制約条件に相当する。このため自動提案サブシステム100は、第1実施形態同様の高速処理方法を用いて判定計算できる。
 
Figure JPOXMLDOC01-appb-I000031
 
・・・・・・・数31
 
 図11に示すテーブルは、ある列車に乗務員が未割当か割当済みかについて調べる比較テーブル1100である。解候補(提案計画)が満たすべき制約条件には、運行する列車に乗務員が割り当てられること、および、運行しない列車には乗務員の割当てがないことがある。この制約条件は、sB_per変数の値と、pB_per変数の値を用いて、ビット値ごとに図11の比較テーブル1100と比較することによって判定できる。
 数32は図11と同じ判定処理をステップ403で高速に行う計算方法を示す。さらに、この制約条件は、数32に示す排他的論理和計算を用いると、ワードやチャンク単位での処理による並列処理の効果がある。さらに、異なるビット値に反応する排他的論理和の特徴によって比較テーブル内の複数の判定項目を同時に判定するため、排他的論理和の値をゼロと比較する確認によって制約違反の有無を高速に確認できる。
Figure JPOXMLDOC01-appb-I000032
・・・・・・・数32
 
 数33~数36を用いて、ステップ405での計画変更案作成、および、ステップ408の状態遷移処理の一部内容を説明する。この場合、数33に示す計算式は、ある列車に乗務員が未割当だと判定された後等で、当該列車(loc1)に乗務可能な乗務員を検索する方法を示す。自動提案サブシステム100は、まず、loc1を検索キーとして、時刻表jT変数から当該列車の出発駅(loc_depart)を検索する。次に自動提案サブシステム100は、入力計画(sB)において、出発時刻(time_depart)において、同じ出発駅で待機中の乗務員(per)をすべて検索する。検索された乗務員(per)は当該列車に乗務可能、および、当該駅で待機継続可能である。自動提案サブシステム100は、こうして検索した乗務員を当該列車に割り当てる計画変更案を作成する。
Figure JPOXMLDOC01-appb-I000033
・・・・・・・数33
 
 数34に示す計算式は、ある時刻(time1)にある駅(loc1>a)に待機中のある乗務員(per1)が、乗務可能な列車(loc)をすべて検索する方法を示す。ここで自動提案サブシステム100は、時刻表jTにおいて、当該時刻に当該駅を出発駅(loc_depart)する列車(loc)を検索する。また自動提案サブシステム100は、当該乗務員を検索した列車に割り当てる計画変更案を作成する。
 
Figure JPOXMLDOC01-appb-I000034
・・・・・・・数34
 
 数35に示す計算式は、数33あるいは数34に示す計算等によって運用変更を行う場合に、特に時間軸方向の観点から計画情報pBの変更方法を示す。ある乗務員(per1)がある列車(loc)に乗務する運用変更について考える。当該列車は、出発時刻(time_depart),出発駅(loc1),到着時刻(time_arrive)、到着駅(loc2)と時刻表にあらかじめ記述されており、自動提案サブシステム100は、それらの情報を参照する。自動提案サブシステム100は、解候補pBにおいて当該乗務員の担当を変更するとき、当該列車(loc)の到着時刻以降、すなわち運行終了後の乗務計画をすべてゼロ値とする。さらに自動提案サブシステム100は、出発時刻から到着時刻の間は、当該列車に乗務するよう、当該乗務員と列車(loc)に対応するビット値をすべて1とする。さらに自動提案サブシステム100は、到着後の時間帯は到着駅に待機するよう、当該乗務員と駅(loc2)に対応するビット値をすべて1とする。
Figure JPOXMLDOC01-appb-I000035
  
・・・・・・・数35
 
 数36に示す計算式は、数35を用いた計画変更と等価で高速な処理を示す。この場合、自動提案サブシステム100は、まず、マスク変数maskを作成する。これは、列車(loc)について、出発時刻(time_depart)前後でステップ状の信号変化を示す。
 つぎに自動提案サブシステム100は、運行予定表、時刻表を参照して、列車の運行状況を示す一時変数tBを作成する。これは、列車乗務(job),位置(location),時刻(time)から構成する。
 つぎに自動提案サブシステム100は、計画情報pBの乗務員(per1)、列車(loc)の位置での時間方向(t)の変化について、マスク変数の否定との論理積を計算することにより、第1の論理積値を得る。すなわち、出発時刻以前の列車について、出発時刻以前の計画を保持する。
 つぎに自動提案サブシステム100は、一時変数tBとマスク変数との論理積を計算することにより、第2の論理積値を得る。すなわち、出発時刻以降の予定を作成する。
 つぎに自動提案サブシステム100は、上述の第1の論理積値と第2の論理積値の論理和を計算することによって、時間軸方向に整合した計画を作成する。このようにして作成された計画は計画情報の一部であり、当該乗務員だけの予定なので、最後に計画情報全体に反映される。
 
Figure JPOXMLDOC01-appb-I000036
・・・・・・・数36
 
 数37に示す計算式は、解候補(提案計画)がよい解かどうかを評価する計算方法を示し、ステップ406での処理において行う。自動提案サブシステム100は、こうした探索過程で得られた複数の解候補について、それぞれの評価値を計算する。近傍探索法において、入力計画sBに近い提案計画pBはある程度妥当である。解空間における2つの解、すなわちsBとpBの内積計算値をe1とすると,e1は2つの解ベクトルの交差角に相当して解空間におけるsBとpBの近さを示す。
 数37において、sBとpBの排他的論理和e2は、2つの解ベクトル同士の距離に相当すると共に、計画変更総数を示す。ビット値が1となる数の総和を示すe3は、乗務時間合計を示す指標である。他にも、総労働時間、ピーク残業時間、計画変更総数などの多様な指標を計算できる。数4に示す最適化目的関数を利用してもよいし、逆に第1実施形態における解評価方法として数37の計算方法を用いてもよい。
Figure JPOXMLDOC01-appb-I000037
・・・・・・・数37
 
 本実施形態によれば、計画問題に対して高速な解法処理を実行して、ユーザが許容出来る実用時間内でより広く早く解空間を探索可能であり、意外で多様な解、より精度のいい近似解、最適解を見つけやすくなる。また、そうした探索過程を可視化することで、長時間の計算が行われる状況であってもユーザが処理中断を判断しやすくなる。
 すなわち、計画問題の解法処理を高速化し、従来よりも精度良好な解を効率良く取得することが可能となる。
 本明細書の記載により、少なくとも次のことが明らかにされる。すなわち、本実施形態の計画業務支援システムにおいて、前記演算装置は、前記リソースの多重割当および未割当の特定に際し、前記論理演算を累積的に行った場合の累積値の変化傾向に基づいて、違反事象発生の有無および位置を特定するものであるとしてもよい。これによれば、違反事象の特定がより効率的で精度の良いものとなる。
 また、本実施形態の計画業務支援システムにおいて、前記演算装置は、前記解候補の作成に際し、前記違反事象の特定の結果、前記計画情報にリソースの多重割当が含まれていた場合、多重割当となる変数Aとゼロ値の変数Bを置換することにより、値が非ゼロとなるビット数を所定数とした解候補を作成する処理と、前記違反事象の特定の結果、前記計画情報にリソースの未割当が含まれていた場合、未割当の生じたビット位置を持つ変数Cと、前記ビット位置のビット値だけが1となる変数Dを置換することで解候補を作成する処理と、前記変数Bおよび変数Dの少なくともいずれかと前記計画情報を構成する他の変数との所定の論理演算を行うことで解候補を作成する処理とを実行するものであるとしてもよい。これによれば、解候補作成がビット演算に基づく更に効率的なものとなる。
 また、本実施形態の計画業務支援システムにおいて、前記記憶装置は、前記計画情報の元となった計画情報であって、制約条件違反の無い当初計画情報を更に保持しており、前記演算装置は、前記当初計画情報と前記解候補との内積値を算定し、該当解候補の第1の評価値を取得する処理と、前記当初計画情報と前記解候補との排他的論理和のビット値を加算集計して、前記解候補の第2の評価値を取得する処理と、前記第1の評価値および前記第2の評価値の少なくともいずれかについて、その評価値の順に解候補を列挙した画面データを所定装置に出力する処理と、を更に実行するものであるとしてもよい。これによれば、ユーザが解候補の適正さに関して容易に理解して選択等を行えることとなり、ひいては解探索が更に迅速で効率的なものとなる。
 また、本実施形態の計画業務支援システムにおいて、前記記憶装置は、前記計画情報の元となった計画情報であって、制約条件違反の無い当初計画情報を更に保持しており、前記演算装置は、前記当初計画情報と前記解候補との内積値を算定し、該当解候補の第1の評価値を取得する処理と、前記当初計画情報と前記解候補との排他的論理和のビット値を加算集計して、前記解候補の第2の評価値を取得する処理と、前記第1の評価値および前記第2の評価値の少なくともいずれかについて、その評価値の順に解候補を列挙して所定装置に出力する処理と、前記解候補を評価値に基づいて所定レベル別に分類し、前記レベルごとに前記解候補の数を集計して、前記集計した値が所定値以上である場合に該当レベルの解候補の前記画面データを更新し、これを前記所定装置に出力する処理と、を更に実行するものであるとしてもよい。
 これによれば、解候補の画面表示に際してユーザの視認性を高め、該当ユーザが解候補の適正さに関して更に容易に理解して選択等を行えることとなり、ひいては解探索が更に迅速で効率的なものとなる。
 また、本実施形態の計画業務支援システムにおいて、前記演算装置は、前記解候補に関する処理状況を所定装置に出力する処理を更に実行するものであるとしてもよい。
 これによれば、解の探索過程の理解と処理中断の要否判断がユーザにとって容易で的確なものとなり、処理全体における無駄を回避し、ひいては解探索が更に迅速で効率的なものとなる。
 また、本実施形態の計画業務支援システムにおいて、前記記憶装置は、前記計画情報として、n人の乗務員、a個の列車、b個の駅、m時間単位の時刻情報について、乗務員、列車あるいは駅を示す位置、時間における割当の有無についてブール値で表現するn×(a+b)×mの3次元以上のビット集合を格納するものであり、前記演算装置は、前記計画情報においてi番目の列車にj番目の乗務員を割り当て、かつ前記列車の出発時刻以前の計画を保存しつつ計画変更する解候補を作成するに際し、時間範囲mの中で前記列車の出発時刻から到着時刻までをビット値1として他を0とする運行情報であって、長さmの第1のビット集合を作成する処理と、時間範囲mの中で前記列車の出発時刻以前をビット値0として他を1とするマスクであって、長さmの第2のビット集合を作成する処理と、前記マスクの否定と前記計画情報の第1の論理積を計算し、前記マスクと前記運行情報の第2の論理積を計算し、前記第1の論理積と前記第2の論理積との論理和を計算する処理と、を実行するものであるとしてもよい。
 これによれば、鉄道運行に関する人員割当て計画に関して、高速な解法処理を実行して、ユーザが許容出来る実用時間内でより広く早く解空間を探索可能であり、意外で多様な解、より精度のいい近似解、最適解を見つけやすくなる。すなわち、鉄道運行に関する人員割当て計画問題の解法処理を高速化し、従来よりも精度良好な解を効率良く取得することが可能となる。
 また、本実施形態の計画業務支援方法において、前記情報処理システムが、前記リソースの多重割当および未割当の特定に際し、前記論理演算を累積的に行った場合の累積値の変化傾向に基づいて、違反事象発生の有無および位置を特定する、としてもよい。
 また、本実施形態の計画業務支援方法において、前記情報処理システムが、前記解候補の作成に際し、前記違反事象の特定の結果、前記計画情報にリソースの多重割当が含まれていた場合、多重割当となる変数Aとゼロ値の変数Bを置換することにより、値が非ゼロとなるビット数を所定数とした解候補を作成する処理と、前記違反事象の特定の結果、前記計画情報にリソースの未割当が含まれていた場合、未割当の生じたビット位置を持つ変数Cと、前記ビット位置のビット値だけが1となる変数Dを置換することで解候補を作成する処理と、前記変数Bおよび変数Dの少なくともいずれかと前記計画情報を構成する他の変数との所定の論理演算を行うことで解候補を作成する処理と、を実行するとしてもよい。
 また、本実施形態の計画業務支援方法において、前記情報処理システムが、前記記憶装置において、前記計画情報の元となった計画情報であって、制約条件違反の無い当初計画情報を更に保持し、前記当初計画情報と前記解候補との内積値を算定し、該当解候補の第1の評価値を取得する処理と、前記当初計画情報と前記解候補との排他的論理和のビット値を加算集計して、前記解候補の第2の評価値を取得する処理と、前記第1の評価値および前記第2の評価値の少なくともいずれかについて、その評価値の順に解候補を列挙した画面データを所定装置に出力する処理と、を更に実行するとしてもよい。
 また、本実施形態の計画業務支援方法において、前記情報処理システムが、前記記憶装置において、前記計画情報の元となった計画情報であって、制約条件違反の無い当初計画情報を更に保持し、前記当初計画情報と前記解候補との内積値を算定し、該当解候補の第1の評価値を取得する処理と、前記当初計画情報と前記解候補との排他的論理和のビット値を加算集計して、前記解候補の第2の評価値を取得する処理と、前記第1の評価値および前記第2の評価値の少なくともいずれかについて、その評価値の順に解候補を列挙して所定装置に出力する処理と、前記解候補を評価値に基づいて所定レベル別に分類し、前記レベルごとに前記解候補の数を集計して、前記集計した値が所定値以上である場合に該当レベルの解候補の前記画面データを更新し、これを前記所定装置に出力する処理と、を更に実行するとしてもよい。
 また、本実施形態の計画業務支援方法において、前記情報処理システムが、前記解候補に関する処理状況を所定装置に出力する処理を更に実行するとしてもよい。
 また、本実施形態の計画業務支援方法において、前記情報処理システムが、前記記憶装置において、前記計画情報として、n人の乗務員、a個の列車、b個の駅、m時間単位の時刻情報について、乗務員、列車あるいは駅を示す位置、時間における割当の有無についてブール値で表現するn×(a+b)×mの3次元以上のビット集合を格納し、前記計画情報においてi番目の列車にj番目の乗務員を割り当て、かつ前記列車の出発時刻以前の計画を保存しつつ計画変更する解候補を作成するに際し、時間範囲mの中で前記列車の出発時刻から到着時刻までをビット値1として他を0とする運行情報であって、長さmの第1のビット集合を作成する処理と、時間範囲mの中で前記列車の出発時刻以前をビット値0として他を1とするマスクであって、長さmの第2のビット集合を作成する処理と、前記マスクの否定と前記計画情報の第1の論理積を計算し、前記マスクと前記運行情報の第2の論理積を計算し、前記第1の論理積と前記第2の論理積との論理和を計算する処理と、を実行するとしてもよい。
10 計画業務支援システム
20 ネットワーク
100 自動提案サブシステム
101 記憶装置
102 プログラム
103 メモリ
104 演算装置
105 通信装置
110 自動提案処理部
111 論理演算処理部
112 入出力処理部
200 データサーバ
215 計算ログ
216 状況情報
217 業務モデル
218 計画DB
2180 初期計画
2181 入力計画
219 解候補DB
2190 解候補
2191 提案計画
220 承認計画
221 属性情報
300 ユーザ端末
400 状況変化連絡機

Claims (14)

  1.  事象への割当対象となるリソース数に基づく所定数のビット列たる変数を、前記事象の数に応じて所定セット組み合わせ、複数事象に対する複数リソースの各割当状態を前記ビット列で示した計画情報を格納する記憶装置と、
     前記計画情報における所定制約条件への違反事象を、前記各変数のビット列および前記変数間における同一リソースに対応した各ビット、のそれぞれについて、所定値との所定論理演算を行ってリソースの多重割当および未割当として特定し、該当違反事象を解消すべく前記計画情報における該当変数のビット列に関して所定アルゴリズムによる変更を行って解候補を作成し、前記解候補と前記計画情報を置換して前記違反事象の解消および解候補作成の処理を繰り返すことで出力計画情報を生成する演算装置と、
     を備えることを特徴とする計画業務支援システム。
  2.  前記演算装置は、
     前記リソースの多重割当および未割当の特定に際し、前記論理演算を累積的に行った場合の累積値の変化傾向に基づいて、違反事象発生の有無および位置を特定するものである、 ことを特徴とする請求項1に記載の計画業務支援システム。
  3.  前記演算装置は、
     前記解候補の作成に際し、
     前記違反事象の特定の結果、前記計画情報にリソースの多重割当が含まれていた場合、多重割当となる変数Aとゼロ値の変数Bを置換することにより、値が非ゼロとなるビット数を所定数とした解候補を作成する処理と、
     前記違反事象の特定の結果、前記計画情報にリソースの未割当が含まれていた場合、未割当の生じたビット位置を持つ変数Cと、前記ビット位置のビット値だけが1となる変数Dを置換することで解候補を作成する処理と、
     前記変数Bおよび変数Dの少なくともいずれかと前記計画情報を構成する他の変数との所定の論理演算を行うことで解候補を作成する処理と、
     を実行するものである、
     ことを特徴とする請求項1に記載の計画業務支援システム。
  4.  前記記憶装置は、
     前記計画情報の元となった計画情報であって、制約条件違反の無い当初計画情報を更に保持しており、
     前記演算装置は、
     前記当初計画情報と前記解候補との内積値を算定し、該当解候補の第1の評価値を取得する処理と、
     前記当初計画情報と前記解候補との排他的論理和のビット値を加算集計して、前記解候補の第2の評価値を取得する処理と、
     前記第1の評価値および前記第2の評価値の少なくともいずれかについて、その評価値の順に解候補を列挙した画面データを所定装置に出力する処理と、
     を更に実行するものである、
     ことを特徴とする請求項1に記載の計画業務支援システム。
  5.  前記記憶装置は、
     前記計画情報の元となった計画情報であって、制約条件違反の無い当初計画情報を更に保持しており、
     前記演算装置は、
     前記当初計画情報と前記解候補との内積値を算定し、該当解候補の第1の評価値を取得する処理と、
     前記当初計画情報と前記解候補との排他的論理和のビット値を加算集計して、前記解候補の第2の評価値を取得する処理と、
     前記第1の評価値および前記第2の評価値の少なくともいずれかについて、その評価値の順に解候補を列挙して所定装置に出力する処理と、
     前記解候補を評価値に基づいて所定レベル別に分類し、前記レベルごとに前記解候補の数を集計して、前記集計した値が所定値以上である場合に該当レベルの解候補の前記画面データを更新し、これを前記所定装置に出力する処理と、
     を更に実行するものである、
     ことを特徴とする請求項1に記載の計画業務支援システム。
  6.  前記演算装置は、
     前記解候補に関する処理状況を所定装置に出力する処理を更に実行するものである、
     ことを特徴とする請求項1に記載の計画業務支援システム。
  7.  前記記憶装置は、
     前記計画情報として、n人の乗務員、a個の列車、b個の駅、m時間単位の時刻情報について、乗務員、列車あるいは駅を示す位置、時間における割当の有無についてブール値で表現するn×(a+b)×mの3次元以上のビット集合を格納するものであり、
     前記演算装置は、
     前記計画情報においてi番目の列車にj番目の乗務員を割り当て、かつ前記列車の出発時刻以前の計画を保存しつつ計画変更する解候補を作成するに際し、
     時間範囲mの中で前記列車の出発時刻から到着時刻までをビット値1として他を0とする運行情報であって、長さmの第1のビット集合を作成する処理と、
     時間範囲mの中で前記列車の出発時刻以前をビット値0として他を1とするマスクであって、長さmの第2のビット集合を作成する処理と、
     前記マスクの否定と前記計画情報の第1の論理積を計算し、前記マスクと前記運行情報の第2の論理積を計算し、前記第1の論理積と前記第2の論理積との論理和を計算する処理と、
     を実行するものである、
     ことを特徴とする請求項1に記載の計画業務支援システム。
  8.  事象への割当対象となるリソース数に基づく所定数のビット列たる変数を、前記事象の数に応じて所定セット組み合わせ、複数事象に対する複数リソースの各割当状態を前記ビット列で示した計画情報を格納する記憶装置を備えた情報処理システムが、
     前記計画情報における所定制約条件への違反事象を、前記各変数のビット列および前記変数間における同一リソースに対応した各ビット、のそれぞれについて、所定値との所定論理演算を行ってリソースの多重割当および未割当として特定し、該当違反事象を解消すべく前記計画情報における該当変数のビット列に関して所定アルゴリズムによる変更を行って解候補を作成し、前記解候補と前記計画情報を置換して前記違反事象の解消および解候補作成の処理を繰り返すことで出力計画情報を生成する、
     ことを特徴とする計画業務支援方法。
  9.  前記情報処理システムが、
     前記リソースの多重割当および未割当の特定に際し、前記論理演算を累積的に行った場合の累積値の変化傾向に基づいて、違反事象発生の有無および位置を特定する、
     ことを特徴とする請求項8に記載の計画業務支援方法。
  10.  前記情報処理システムが、
     前記解候補の作成に際し、
     前記違反事象の特定の結果、前記計画情報にリソースの多重割当が含まれていた場合、多重割当となる変数Aとゼロ値の変数Bを置換することにより、値が非ゼロとなるビット数を所定数とした解候補を作成する処理と、
     前記違反事象の特定の結果、前記計画情報にリソースの未割当が含まれていた場合、未割当の生じたビット位置を持つ変数Cと、前記ビット位置のビット値だけが1となる変数Dを置換することで解候補を作成する処理と、
     前記変数Bおよび変数Dの少なくともいずれかと前記計画情報を構成する他の変数との所定の論理演算を行うことで解候補を作成する処理と、
     を実行することを特徴とする請求項8に記載の計画業務支援方法。
  11.  前記情報処理システムが、
     前記記憶装置において、前記計画情報の元となった計画情報であって、制約条件違反の無い当初計画情報を更に保持し、
     前記当初計画情報と前記解候補との内積値を算定し、該当解候補の第1の評価値を取得する処理と、
     前記当初計画情報と前記解候補との排他的論理和のビット値を加算集計して、前記解候補の第2の評価値を取得する処理と、
     前記第1の評価値および前記第2の評価値の少なくともいずれかについて、その評価値の順に解候補を列挙した画面データを所定装置に出力する処理と、
     を更に実行することを特徴とする請求項8に記載の計画業務支援方法。
  12.  前記情報処理システムが、
     前記記憶装置において、前記計画情報の元となった計画情報であって、制約条件違反の無い当初計画情報を更に保持し、
     前記当初計画情報と前記解候補との内積値を算定し、該当解候補の第1の評価値を取得する処理と、
     前記当初計画情報と前記解候補との排他的論理和のビット値を加算集計して、前記解候補の第2の評価値を取得する処理と、
     前記第1の評価値および前記第2の評価値の少なくともいずれかについて、その評価値の順に解候補を列挙して所定装置に出力する処理と、
     前記解候補を評価値に基づいて所定レベル別に分類し、前記レベルごとに前記解候補の数を集計して、前記集計した値が所定値以上である場合に該当レベルの解候補の前記画面データを更新し、これを前記所定装置に出力する処理と、
     を更に実行することを特徴とする請求項8に記載の計画業務支援方法。
  13.  前記情報処理システムが、
     前記解候補に関する処理状況を所定装置に出力する処理を更に実行することを特徴とする請求項8に記載の計画業務支援方法。
  14.  前記情報処理システムが、
     前記記憶装置において、前記計画情報として、n人の乗務員、a個の列車、b個の駅、m時間単位の時刻情報について、乗務員、列車あるいは駅を示す位置、時間における割当の有無についてブール値で表現するn×(a+b)×mの3次元以上のビット集合を格納し、
     前記計画情報においてi番目の列車にj番目の乗務員を割り当て、かつ前記列車の出発時刻以前の計画を保存しつつ計画変更する解候補を作成するに際し、
     時間範囲mの中で前記列車の出発時刻から到着時刻までをビット値1として他を0とする運行情報であって、長さmの第1のビット集合を作成する処理と、
     時間範囲mの中で前記列車の出発時刻以前をビット値0として他を1とするマスクであって、長さmの第2のビット集合を作成する処理と、
     前記マスクの否定と前記計画情報の第1の論理積を計算し、前記マスクと前記運行情報の第2の論理積を計算し、前記第1の論理積と前記第2の論理積との論理和を計算する処理と、
     を実行することを特徴とする請求項8に記載の計画業務支援方法。
PCT/JP2015/067208 2015-06-15 2015-06-15 計画業務支援システムおよび計画業務支援方法 WO2016203531A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
PCT/JP2015/067208 WO2016203531A1 (ja) 2015-06-15 2015-06-15 計画業務支援システムおよび計画業務支援方法
JP2017524167A JP6440840B2 (ja) 2015-06-15 2015-06-15 計画業務支援システムおよび計画業務支援方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2015/067208 WO2016203531A1 (ja) 2015-06-15 2015-06-15 計画業務支援システムおよび計画業務支援方法

Publications (1)

Publication Number Publication Date
WO2016203531A1 true WO2016203531A1 (ja) 2016-12-22

Family

ID=57545477

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2015/067208 WO2016203531A1 (ja) 2015-06-15 2015-06-15 計画業務支援システムおよび計画業務支援方法

Country Status (2)

Country Link
JP (1) JP6440840B2 (ja)
WO (1) WO2016203531A1 (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109278811A (zh) * 2018-09-27 2019-01-29 北京全路通信信号研究设计院集团有限公司 一种铁路客运站运输组织的综合自动化实现系统及方法
JP2021103390A (ja) * 2019-12-25 2021-07-15 西日本電信電話株式会社 意思決定支援装置、意思決定支援プログラム及び意思決定支援方法
JP2021104752A (ja) * 2019-12-26 2021-07-26 株式会社東芝 列車情報管理装置
EP3965028A1 (en) * 2020-09-08 2022-03-09 Kabushiki Kaisha Toshiba Information processing apparatus, information processing method and computer program
WO2023175948A1 (ja) * 2022-03-18 2023-09-21 日本電気株式会社 学習装置、提示装置、学習方法及び記憶媒体
KR102604219B1 (ko) * 2022-09-07 2023-11-20 주식회사 아인스페이스 고해상도 데이터에 대한 폴트를 검출하는 방법 및 그 시스템

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09297791A (ja) * 1996-04-30 1997-11-18 Hitachi Ltd マンマシン協調型スケジューリング方法
JP2001092802A (ja) * 1999-09-17 2001-04-06 Fujitsu Ltd 最適化装置、最適化方法、及び記録媒体
JP2004030413A (ja) * 2002-06-27 2004-01-29 Fujitsu Ltd 最適化処理装置
JP2005157793A (ja) * 2003-11-26 2005-06-16 Hitachi East Japan Solutions Ltd 保守計画の支援システム及び保守計画の支援方法及び保守計画の支援のためのコンピュータプログラム
JP2013008089A (ja) * 2011-06-22 2013-01-10 Hitachi Ltd 計算機システムの構成パターンの算出方法及び構成パターンの算出装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09315308A (ja) * 1996-05-27 1997-12-09 Hitachi Ltd 運行機材の運用計画作成方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09297791A (ja) * 1996-04-30 1997-11-18 Hitachi Ltd マンマシン協調型スケジューリング方法
JP2001092802A (ja) * 1999-09-17 2001-04-06 Fujitsu Ltd 最適化装置、最適化方法、及び記録媒体
JP2004030413A (ja) * 2002-06-27 2004-01-29 Fujitsu Ltd 最適化処理装置
JP2005157793A (ja) * 2003-11-26 2005-06-16 Hitachi East Japan Solutions Ltd 保守計画の支援システム及び保守計画の支援方法及び保守計画の支援のためのコンピュータプログラム
JP2013008089A (ja) * 2011-06-22 2013-01-10 Hitachi Ltd 計算機システムの構成パターンの算出方法及び構成パターンの算出装置

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109278811A (zh) * 2018-09-27 2019-01-29 北京全路通信信号研究设计院集团有限公司 一种铁路客运站运输组织的综合自动化实现系统及方法
CN109278811B (zh) * 2018-09-27 2020-11-24 北京全路通信信号研究设计院集团有限公司 一种铁路客运站运输组织的综合自动化实现系统及方法
JP2021103390A (ja) * 2019-12-25 2021-07-15 西日本電信電話株式会社 意思決定支援装置、意思決定支援プログラム及び意思決定支援方法
JP2021104752A (ja) * 2019-12-26 2021-07-26 株式会社東芝 列車情報管理装置
JP7319911B2 (ja) 2019-12-26 2023-08-02 株式会社東芝 列車情報管理装置
EP3965028A1 (en) * 2020-09-08 2022-03-09 Kabushiki Kaisha Toshiba Information processing apparatus, information processing method and computer program
WO2023175948A1 (ja) * 2022-03-18 2023-09-21 日本電気株式会社 学習装置、提示装置、学習方法及び記憶媒体
KR102604219B1 (ko) * 2022-09-07 2023-11-20 주식회사 아인스페이스 고해상도 데이터에 대한 폴트를 검출하는 방법 및 그 시스템

Also Published As

Publication number Publication date
JPWO2016203531A1 (ja) 2017-08-31
JP6440840B2 (ja) 2018-12-19

Similar Documents

Publication Publication Date Title
JP6440840B2 (ja) 計画業務支援システムおよび計画業務支援方法
Solano-Charris et al. Local search based metaheuristics for the robust vehicle routing problem with discrete scenarios
Cattaruzza et al. The multi-trip vehicle routing problem with time windows and release dates
Kaselimi et al. A vision transformer model for convolution-free multilabel classification of satellite imagery in deforestation monitoring
Lee et al. Task taxonomy for graph visualization
Qu et al. A GRASP with adaptive large neighborhood search for pickup and delivery problems with transshipment
Pihera et al. Application of machine learning to algorithm selection for TSP
US20130311242A1 (en) Business Process Analytics
CN111027703A (zh) 一种量子线路查询的方法、装置、存储介质及电子装置
Al-Tabbakh et al. Machine learning techniques for analysis of Egyptian flight delay
Lin et al. Airport baggage handling system simulation modeling using SysML
CN107146061A (zh) 一种基于港口多层区域的船舶挂靠事件挖掘方法及系统
Alharbi et al. A hybrid artificial intelligence approach to predict flight delay
CN117036060A (zh) 车险欺诈识别方法、装置和存储介质
Pop et al. A variable neighborhood search approach for solving the generalized vehicle routing problem
CN107797852A (zh) 数据迭代的处理装置及处理方法
Pospíšil et al. Process mining in a manufacturing company for predictions and planning
Johnstone et al. A dynamic time warped clustering technique for discrete event simulation-based system analysis
EP3855316A1 (en) Optimizing breakeven points for enhancing system performance
Gupta et al. Risks in supply chain management and its mitigation
Shen et al. An exact algorithm for the multi-period inspector scheduling problem
Samà et al. Comparing centralized and rolling horizon approaches for optimal aircraft traffic control in terminal areas
Pospisil et al. Business process simulation for predictions
Hirokane et al. Extraction of minimal decision algorithm using rough sets and genetic algorithm
Rosłon et al. DATA MINING IN CONSTRUCTION RESEARCH

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: 15895552

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2017524167

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 15895552

Country of ref document: EP

Kind code of ref document: A1