WO2016092605A1 - 制約充足解探索装置および制約充足解探索方法 - Google Patents

制約充足解探索装置および制約充足解探索方法 Download PDF

Info

Publication number
WO2016092605A1
WO2016092605A1 PCT/JP2014/082369 JP2014082369W WO2016092605A1 WO 2016092605 A1 WO2016092605 A1 WO 2016092605A1 JP 2014082369 W JP2014082369 W JP 2014082369W WO 2016092605 A1 WO2016092605 A1 WO 2016092605A1
Authority
WO
WIPO (PCT)
Prior art keywords
constraint
well
constraint satisfaction
data
solution
Prior art date
Application number
PCT/JP2014/082369
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/JP2014/082369 priority Critical patent/WO2016092605A1/ja
Publication of WO2016092605A1 publication Critical patent/WO2016092605A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16ZINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS, NOT OTHERWISE PROVIDED FOR
    • G16Z99/00Subject matter not provided for in other main groups of this subclass

Definitions

  • the present invention relates to a constraint satisfaction solution search apparatus and a constraint satisfaction solution search method.
  • Constraint satisfaction problem (CSP: Constraint Satisfaction Problem) is a problem of searching combinations that satisfy all given constraints from input parameters, and a scheduling problem is a specific example.
  • CSP Constraint Satisfaction Problem
  • a constraint propagation method based on the backtracking method is often used.
  • the work shift table data acquisition unit that acquires the data of the work shift table created in the past and the past work shift table data acquired by the work shift table data acquisition unit are stochastically determined by an algorithm using probability.
  • the shift pattern estimation unit for estimating the highest work pattern
  • the constraint condition storage unit for storing the constraint condition
  • constraint programming to satisfy the constraint condition stored in the constraint condition storage unit
  • a work shift table that uses the shift pattern estimation unit to reflect the most likely work pattern, and assigns a work pattern to each worker for each day in a given period to generate a work shift table.
  • a work shift table creation device (see Patent Document 1) that includes a creation processing unit has been proposed.
  • the highest work pattern is stochastically estimated from the past work shift table data by an algorithm using probability.
  • the algorithm uses probability to estimate the number of shift included in the pattern.
  • it is necessary to perform a search using constraint programming, and there is a problem that the time required for the process tends to increase.
  • an object of the present invention is to provide a technique that enables a solution search to be executed at high speed even when a constraint variable that cannot satisfy the constraint exists in the past solution history when searching for a solution to the constraint satisfaction problem.
  • the constraint satisfaction solution search apparatus of the present invention that solves the above problems includes a storage device that stores a past solution history of a constraint satisfaction problem, and a past solution of the constraint satisfaction problem when searching for a solution of the constraint satisfaction problem using constraint propagation. Update the statistical model generated from the history with a variable range that satisfies the constraints in the constraint satisfaction problem, execute constraint propagation in the updated statistical model and estimate the constraint satisfaction solution, and use the updated statistical model And a processing for searching for a constraint satisfaction solution while giving priority to a value having a high likelihood.
  • the constraint satisfaction solution search method of the present invention is such that the information processing device including a storage device storing a past solution history of the constraint satisfaction problem performs the constraint satisfaction problem when searching for a solution of the constraint satisfaction problem using constraint propagation. Updating the statistical model generated from the past solution history of the variable in a variable range that satisfies the constraint in the constraint satisfaction problem, executing constraint propagation in the updated statistical model, and estimating the constraint satisfaction solution, and the updated statistics Uses a model to perform processing to search for constraint satisfaction solutions while giving priority to values with high likelihood
  • FIG. 1 is a diagram showing a system configuration example including a past history use constraint satisfaction solution search device 106 which is a constraint satisfaction solution search device of the present embodiment.
  • the constraint satisfaction solution search device 106 (hereinafter referred to as constraint satisfaction solution search device 106) shown in FIG. 1 performs a high-speed operation even when a constraint variable that does not satisfy the constraint exists in the past solution history when searching for a solution to the constraint satisfaction problem.
  • This is a computer device capable of executing solution search.
  • This constraint satisfaction solution search device 106 constitutes the recommended well arrangement calculation system 103, which is a constraint satisfaction solution search system, with other devices.
  • the recommended well arrangement calculation system 103 is a system example that is a specific application target of the constraint satisfaction solution search apparatus of the present embodiment.
  • This recommended well arrangement calculation system 103 is a system for calculating the optimum arrangement of oil wells and gas wells.
  • the recommended well arrangement calculation system 103 is connected to the data provider 101 via the network 102 so that data communication is possible.
  • the above-described network 102 is a medium such as the Internet for connecting the data provider 101 and the recommended well arrangement calculation device, and can adopt a wired or wireless form.
  • the data provider 101 is a computer operated by a drilling company such as an oil well or a gas well, a consultant, or an administrative organization.
  • the data provider 101 can be assumed to be a server device that provides data such as the position and shape of wells such as oil wells and gas wells, products, and geological conditions to the recommended well arrangement calculation system 103 via the network 102.
  • the data reading device 104 in the above-described recommended well arrangement calculation system 103 includes data provided by the data provider 101 via the network 102, data input by a predetermined operator at the terminal device 114, and other media.
  • This is a device that receives the above data as input and stores it as input data 108 in the DB device 107.
  • the terminal device 114 described above is a computer terminal operated by an operator of the recommended well arrangement calculation system 103.
  • the well arrangement constraint generation device 105 is a device that generates a constraint for optimizing the well arrangement and causes the constraint satisfaction solution search device 106 to obtain a satisfaction solution for this constraint.
  • the constraint satisfaction solution search device 106 is a device that searches for and outputs a constraint satisfaction solution that satisfies all the constraints output by the well arrangement constraint generation device 105 described above.
  • the DB device 107 is a storage device that operates a DB that holds data handled by each device.
  • the DB device 107 includes input data 108, parameters 109, constraints 110, constraint satisfaction solutions 111, past solution histories 112, and map data 113. Specific examples of each of these data will be described later.
  • the input data 108 is data such as well positions and shapes acquired from the data provider 101, and formation information.
  • the parameter 109 is a parameter that is an input to the constraint satisfaction solution search apparatus 106. This parameter 109 normally takes a different value in each constraint satisfaction solution search.
  • the constraint 110 is a constraint that should be satisfied by the solution searched by the constraint satisfaction solution search apparatus 106.
  • the constraint satisfaction solution 111 is a constraint satisfaction solution searched by the constraint satisfaction solution search device 106.
  • the past solution history 112 is data obtained by collecting the constraint satisfaction solutions 111 in the past search.
  • the map data 113 is map data around the well. --- Examples of functions ---
  • FIG. 2 is a diagram illustrating a configuration example of the constraint satisfaction solution search apparatus 106 according to the present embodiment.
  • the constraint satisfaction solution search apparatus 106 has functions of a constraint satisfaction solution search unit 201, a constraint propagation unit 202, a constraint satisfaction solution estimation unit 203, and a constraint satisfaction solution registration unit 204. It has.
  • the constraint satisfaction solution search unit 201 is a functional unit that is implemented by executing a program for searching for constraint satisfaction solutions.
  • the constraint satisfaction solution search unit 201 also controls the entire constraint satisfaction solution search apparatus 106.
  • the constraint propagation unit 202 is a functional unit that is implemented by executing a program that limits the range (domain) of constraint variable values that satisfy the constraint using a known technique called constraint propagation.
  • the constraint satisfaction solution estimation unit 203 is a functional unit that is implemented by executing a program that estimates a constraint satisfaction solution from the past solution history 112 using a statistical method.
  • the constraint satisfaction solution registration unit 204 is a functional unit that is implemented by executing a program that additionally registers the searched constraint satisfaction solution in the past solution history 112 of the DB device 107. ---- Example of hardware configuration ---
  • FIG. 3 is a diagram illustrating a hardware configuration example of the constraint satisfaction solution search apparatus 106 according to the present embodiment.
  • the computer illustrated in FIG. 3 includes a CPU 301, a memory 302, an interface 303, a network interface 304, a keyboard 305, a display 306, a mouse 307, and an auxiliary storage device 308.
  • the CPU 301 is a central processing unit (Central Processing Unit), and executes the program 312 recorded in the memory 302 or transferred from the auxiliary storage device 308 to the memory 302 in advance to execute the above-described functional units 201 to 201.
  • 204 is a device that realizes 204. Note that the above-described program 312 can be used by the computer as necessary, and may be introduced by a removable storage medium. In this case, a device for reading the above-described storage medium is connected to the interface 303.
  • the program 312 may be introduced into the computer by the network interface 304 via a communication medium (a communication line or a carrier wave on the communication line) as necessary.
  • the memory 302 is a main storage device that is composed of a volatile storage element such as a RAM and temporarily records programs and data.
  • the interface 303 connects an external device to the computer, and has a configuration according to the specifications of the connector of the connection destination device.
  • the network interface 304 is a device for communicating with an external device via the network 102 and has a functional configuration corresponding to the communication protocol of the network 102.
  • the keyboard 305 is an input device for receiving instructions and data input to the computer from the operator.
  • the display 306 is an output device that displays a result of processing by a computer.
  • the mouse 307 moves the pointer displayed on the screen of the display 306, and accepts a click operation at an arbitrary place on the screen, thereby specifying the position on the screen and performing some action. This is a device for transmitting to the CPU 301. Note that the mouse 307 can be replaced by a general touch panel. In this case, no pointer is required.
  • the auxiliary storage device 308 is a non-volatile storage device that stores the program 312 and the data 108 to 113, and includes, for example, a magnetic disk, a non-volatile memory, or the like.
  • the program 312 and the data 108 to 113 stored in the auxiliary storage device 308 are retained even when the power supply to the auxiliary storage device 308 is turned off and then turned on again.
  • an operating system may be installed in advance in the auxiliary storage device 308. This makes it possible to specify a program using a file name.
  • the OS refers to basic software of the computer, and a generally well-known OS can be used.
  • Example of data structure ---
  • FIG. 4 is a diagram showing a data structure of the well data 400 among the input data 108 in the present embodiment.
  • the well data 400 is composed of data related to existing wells, and each of an operation company name 402, a well position x403, a well position y404, a well detailed data number 405, and a well detailed data ID 406, using the input data ID 401 as a key. It is a collection of records with associated values.
  • the input data ID 401 is identification information for uniquely identifying the input data.
  • the management company name 402 is the name of the management company of the corresponding well.
  • the well position x403 is an x-coordinate position on the ground surface of the corresponding well.
  • the well position y404 is a y-coordinate position on the ground surface of the corresponding well.
  • the x-coordinate and y-coordinate described above correspond to a coordinate plane set for a predetermined area on the map.
  • the well detailed data count 405 is the number of well detailed data related to the well.
  • the well assumed by this embodiment assumes the structure where the well which is one on the ground surface branches in the ground, and has a plurality of well holes.
  • the well detailed data ID 406 is an ID of the representative well detailed data among the plurality of well detailed data as described above.
  • the well operating company With such a data structure of the well data 400, it is possible to know a well operating company, a position on the ground surface, and a pointer to well detailed data.
  • the well operated by “Ox Petroleum” exists at the coordinates (149500, 249500), the number of detailed data is “3”, and the representative well detailed data ID is “ 1 ”.
  • the x-coordinate and y-coordinate related to the well position described above are given in advance.
  • coordinates such as easting and northing can be used.
  • coordinates such as latitude and longitude can be used.
  • latitude and longitude it should be noted that the length may be different depending on the latitude even if the length is the same length (for example, 1 second). This is because the length of one round of the earth varies depending on the latitude. Even at latitude, the earth is not a perfect sphere, so the length may be different, even if not as long as the longitude, and correction may be necessary.
  • FIG. 5 is a diagram showing an example of the data structure of the well detail data 500 among the input data 108 in the present embodiment.
  • the well detailed data 500 corresponds to well detailed data associated with each well data of the well data 400 described above, and includes well detailed data ID501, input data ID502, number of well shape data 503, well shape data. This is a set of records in which the values of ID 504, previous link well detailed data ID 505, and next link well detailed data ID 506 are associated with each other.
  • the well detailed data ID 501 is identification information for uniquely identifying the well detailed data, and is a value common to the well detailed data ID 406 in the well data 400 described above.
  • the input data ID 502 is an ID of input data including the well detailed data, and is a value common to the value of the input data ID 401 in the well data 400 described above.
  • the well shape data number 503 is the number of well shape data regarding the well holes of the corresponding well.
  • the well shape data ID 504 is an ID of a representative one of well shape data regarding the corresponding well hole.
  • the previous link well data ID 505 is a well detail data ID that has one less value of the well detail data ID among the well detail data associated with the same input data ID, that is, the previous well detail data ID.
  • the next link well detail data ID 506 is a well detail data ID of the next ID having one more value of the well detail data ID among the well detail data associated with the same input data ID.
  • Such a data structure of the well detailed data 500 makes it possible to obtain a pointer for accessing the well shape data of each well hole constituting a well.
  • the input data ID is “1”, that is, there are three well detailed data (well detailed data ID1 to 3) for the wells operated by “Ox Oil” in FIG. It is shown that the number of well shape data is “3”, “123”, and “234”, respectively.
  • well shape data IDs “1”, “4”, and “127” used for access to each are shown.
  • FIG. 6 is a diagram showing a data structure of the well shape data 600 among the input data 108 in the present embodiment.
  • the well shape data 600 uses the well shape data ID 601 as a key, the well detailed data ID 602, the well shape position x603, the well shape position y604, the well shape position z605, the formation information 606, the previous link well shape data ID607, and the next link well.
  • This is a set of records in which the values of the shape data ID 608 are associated with each other.
  • the well shape data ID 601 is identification information for uniquely identifying the well shape data, and is a value common to the value of the well shape data ID 504 in the well detailed data 500 of FIG.
  • the well detail data ID 602 is a well detail data ID including the well shape data, and is a value common to the value of the well detail data ID 501 in the well detail data 500 of FIG.
  • the well shape position x603 is the x coordinate of the well position.
  • the well shape position y604 is the y coordinate of the well position.
  • the well shape position z605 is the z coordinate (depth) of the well position.
  • the formation information 606 is a code representing the state of the formation where the corresponding well is located.
  • the previous link well shape data ID 607 is a well shape data ID having one less value of the well shape data ID included in the same well detailed data, that is, the ID having the previous ID.
  • the next link well shape data ID 608 has one more value of the well shape data ID included in the same well detailed data, that is, the ID is the next well shape data ID.
  • Such a data structure of the well shape data 600 makes it possible to know the three-dimensional shape of a well and the formation of the surrounding strata.
  • the well shape of the well hole whose well detailed data ID is “1” and a part of the well shape of the well hole whose well detailed data ID is “2” are shown. Has been.
  • the above-described z coordinate is given appropriately.
  • the z-coordinate is not the length measured along the well, but the length measured (virtually) along the vertical line from the ground surface.
  • feet or meters can be used as the unit.
  • FIG. 7 is a diagram showing the header portion 700 in the map data 113 in the present embodiment.
  • the header component 700 uses the map data ID 701 as a key, and creates date and time 702, start point position x703, start point position y704, end point position x705, end point position y706, pixel number x707, pixel number y708, and pixel data ID 709. It is a collection of associated records.
  • the map data ID 701 is identification information for uniquely identifying the map data.
  • the creation date 702 is the creation date of the corresponding map data.
  • the starting point position x703 is the x coordinate of the starting point in the corresponding map data.
  • the starting point position y704 is the y coordinate of the starting point in the corresponding map data.
  • the end point position x705 is the x coordinate of the end point in the corresponding map data
  • the end point position y706 is the end point y coordinate.
  • the pixel number x707 is the number of pixels in the x direction in the corresponding map data
  • the pixel number y708 is the number of pixels in the y direction.
  • the pixel data ID 709 is the ID of the first pixel data of the corresponding map data. From the data structure of the header component 700, the outline of the map data, the start point, the end point, the creation date and time, etc. of the map data that has been cut into pieces can be known.
  • FIG. 8 is a diagram showing pixel data 800 in the map data 113 in the present embodiment.
  • the pixel data 800 is an aggregate of records in which the values of the pixel data ID 801, the pixel data R802, the pixel data G803, and the pixel data B804 are associated with each other.
  • the pixel data ID 801 is identification information for uniquely specifying the pixel data.
  • the pixel data R802 is the red component intensity of the corresponding pixel data
  • the pixel data G803 is the green component intensity
  • the pixel data B804 is the blue component intensity.
  • the parameter 109 illustrated in FIG. 9 is a collection of records in which the parameter ID 901 is used as a key and the parameter name 902, the parameter contents 903, and each value are associated with each other.
  • the parameter ID 901 is identification information for uniquely identifying a parameter.
  • the parameter name 902 is the name of the corresponding parameter.
  • the parameter name 902 includes “new well position x0”, “new well position x1”, “new well position y0”, “new well position y1”, “minimum well distance”, “well depth z0”, “ “Well depth z1” and “other operator well penalty” are included. These are mainly information input by the operator.
  • “New well position x0” in the parameter name 902 is the minimum value of the x-coordinate on the surface of the well to be newly placed.
  • the “new well position x1” is the maximum value of the x coordinate on the ground surface of the well to be newly arranged.
  • the “new well position y0” is the minimum value of the y coordinate on the ground surface of the well to be newly arranged.
  • the “new well position y1” is the maximum value of the y coordinate on the ground surface of the well to be newly arranged.
  • the “minimum well distance” represents the minimum distance that a well to be newly placed should take from another well.
  • the “well depth z0” is the minimum depth of a well to be newly arranged.
  • well depth z1 is the maximum depth of a well to be newly arranged.
  • “Other Operator Well Penalty” is the minimum distance between wells that should be followed when the operator of other applicable wells is another operator with respect to the minimum distance that a newly placed well should take from other wells. It is. This “other enterprise well penalty” is particularly used in resource excavation under the situation where different enterprises perform well excavation adjacent to each other.
  • the constraint 110 in this embodiment illustrated in FIG. 10 is an aggregate of records in which the constraint content 1002 is associated with the constraint ID 1001 as a key.
  • the constraint ID 1001 is identification information that uniquely identifies the constraint.
  • the constraint content 1002 is the content of the corresponding constraint.
  • Such a restriction 110 includes a minimum well distance restriction.
  • the operating company having the detailed data ID “i” is vo (i)
  • the x coordinate is “vx (i, j)” of the “j” th shape data
  • the detailed data ID of the newly arranged well is “99”.
  • limx1 is “1000”, and if it is a different operating company, limx1 is “2000”. Also, under such restrictions, the absolute value of the x coordinate is separated by limx1 or more between the new well and the well with the well detailed data ID “1” for the “1” th well shape.
  • the past solution history 112 of the present embodiment stores a history of solutions searched in the past for the optimal placement problem of wells such as oil wells and gas wells, which is a constraint satisfaction problem, and uses the past solution ID 1101 as a key.
  • the past solution ID 1101 is identification information for uniquely identifying the past solution
  • the past solution 1102 is the content of the corresponding past solution.
  • the past solution history 112 is a DB that stores past solutions as they are.
  • the past solution is composed of a plurality of value patterns, and the past solution history 112 illustrated in FIG. 11 stores values in a vector format.
  • the past solution with the past solution ID “1” is a vector “1, 3, 2, 24,...”.
  • the data structure has been described above. --- Example of display screen ---
  • FIG. 12 is a diagram illustrating an example of the parameter input screen 1200 of the terminal device 114 in the present embodiment.
  • the parameter input screen 1200 illustrated in FIG. 12 includes a map display screen 1201, a new well candidate position 1202, an existing well position 1203, topographic information 1204, a minimum well distance input box 1205, a well depth z0 input box 1206, a well depth.
  • a z1 input box 1207, a separate operator well penalty input box 1208, and a recommended position calculation button 1209 are configured.
  • the map display screen 1201 corresponds to the display area of the map drawn based on the map data 113, and a new well candidate position 1202, an existing well position 1203, and terrain information 1204 are displayed.
  • the new well candidate position 1202 is a new well candidate position designated by the operator, and is drawn according to the range of the new well position indicated by the parameters of the parameter IDs “1” to “4” in the parameter 109 of FIG. This is a rectangular area.
  • the existing well position 1203 is an icon of an existing well drawn according to the values of the well position x403 and the well position y404 of each existing well in the well data 400 of FIG.
  • the terrain information 1204 is a graphic representing terrain information included in the map data 113, and is an aerial photograph image of a road or a mountain. It may be the result of interpreting a photograph like a map.
  • the minimum well distance input box 1205 is an input field for the operator to specify the minimum well distance.
  • a well depth z0 input box 1206 is an input field for the operator to specify the minimum value of the well depth.
  • a well depth z1 input box 1207 is an input field for the operator to specify the maximum value of the well depth.
  • Another operator well penalty input box 1208 is an input field for the operator to specify another operator well penalty.
  • a recommended position calculation button 1209 is a button for the operator to instruct the execution of a well position recommended as the optimum position of a new well.
  • An operator who browses such a parameter input screen 1200 on the display 306 of the terminal device 114 can execute parameter input using the keyboard 305, the mouse 307, or the like of the terminal device 114.
  • the input value on the parameter input screen 1200 is stored in the DB device 107 of the recommended well arrangement calculation system 103 as the parameter 109 by the terminal device 114.
  • FIG. 13 is a diagram illustrating an example of a constraint satisfaction solution display screen 1300 of the terminal device 114 in the present embodiment.
  • the constraint satisfaction solution display screen 1300 illustrated in FIG. 13 includes a new well recommended position 1301, a detail display button 1302, and a recalculation button 1303, in particular.
  • the other minimum well distance input box, well depth z0 input box, well depth z1 input box, and another operator well penalty input box are the same as those of the parameter input screen 1200 described above.
  • the above-mentioned recommended new well position 1301 on the constraint satisfaction solution display screen 1300 is an icon representing a recommended position of a new well that is a constraint satisfaction solution.
  • the detail display button 1302 is a button for the operator to instruct the display of detailed information regarding the new well.
  • the recalculation button 1303 is a button for the operator to instruct recalculation regarding the recommended position of the new well, that is, re-execution of the solution search.
  • the operator who browses the constraint satisfaction solution display screen 1300 on the display 306 of the terminal device 114 can grasp the recommended position of the new well.
  • the details of the new well can be displayed by clicking the detail display button 1302 (hovering the mouse pointer over the area of the detail display button 1302 and then pressing and releasing the mouse 307 button).
  • the recommended position can be recalculated by clicking a recalculation button 1303.
  • FIG. 14 is a diagram illustrating an example of a constraint satisfaction solution display screen (detailed display) 1400 of the terminal device 114 in the present embodiment.
  • a constraint satisfaction solution display screen (detailed display) 1400 illustrated in FIG. 14 includes a detail display screen 1401.
  • the detail display screen 1401 is a screen that displays details of the corresponding new well in response to a click event of the detail display button 1302 in the constraint satisfaction solution display screen 1300 described above.
  • information on the depth direction of the new well is displayed.
  • the details display screen 1401 may draw details of the new well in a three-dimensional representation. Further, the viewpoint or the like may be changed according to the movement of the mouse 307.
  • the example of the display screen on the display 306 of the terminal device 114 has been described above.
  • FIG. 15 is a flowchart showing a processing procedure example 1 of the constraint satisfaction solution search method in the present embodiment, specifically, a schematic diagram of a processing flow of the recommended well position calculation system 103 in the present embodiment. Therefore, in addition to the constraint satisfaction solution search device 106 of this embodiment, processing in the data reading device 104 and the well arrangement constraint generation device 105 will be described together.
  • step 1501 for example, the CPU of the terminal device 114 that has received an instruction from the operator instructs the data reading device 104 to start reading data.
  • Such communication between devices can be executed by general communication, RPC (Remote Procedure Call), or the like.
  • RPC Remote Procedure Call
  • step 1502 the CPU of the data reading device 104 that has received an instruction from the terminal device 114 downloads data from the data provider 101 and stores it as input data 108.
  • the data provider 101 described above is a Web server that provides oil well location information and the like. Downloading of data in this case can be performed using general HTTP (Hypertext Transfer Protocol).
  • step 1503 the CPU of the data reading device 104 notifies the terminal device 114 of the completion of data reading in accordance with the data storage processing in step 1502 described above.
  • the CPU of the terminal device 114 that has received the notification of the completion of data reading displays a map on the display 306 using the map data 113 and the input data 108 obtained in the above step 1502 in step 1504. .
  • Coordinate data is defined for both the map data 113 and the input data 108, and the map data 113 and the input data 108 can be superimposed by a simple proportional calculation to display the position of an existing well on the map.
  • a parameter input screen 1200 (FIG. 12) including a map display screen 1201, an existing well position 1203, and topographic information 1204 is displayed on the display 306 of the terminal device 114.
  • the CPU of the terminal device 114 receives input of parameters related to well arrangement calculation on the parameter input screen 1200 from the operator using the keyboard 305, the mouse 307, or the like.
  • the interface for accepting parameter input is a minimum well distance input box 1205, a well depth z0 input box 1206, a well depth z1 input box 1207, and another operator well penalty input box 1208 on the parameter input screen 1200.
  • the input field may be displayed on the parameter input screen 1200 in the same manner as the box described above, and input from the operator may be accepted, or the new well candidate position 1202 may be displayed on the map display screen 1201. It is also possible to display an object to be shown (for example, a broken-line rectangle) by default, and the operator operates the mouse 307 to move it to a candidate position desired by the operator.
  • step 1506 the CPU of the terminal device 114 stores the parameter input regarding the new well on the parameter input screen 1200 described above as the parameter 109 in the DB device 107.
  • An example of the parameter 109 in this case is as illustrated with reference to FIG.
  • values such as the position range of the new well, the minimum distance between the wells, the well depth, and the different enterprise well penalty are the parameters.
  • step 1507 the CPU of the terminal device 114 receives the click event of the recommended position calculation button 1209 on the above-described parameter input screen 1200 (FIG. 12) from the operator, and in step 1508, the well arrangement constraint generation device 105 receives the click event. Instruct the start of the recommended well arrangement calculation.
  • step 1509 the CPU of the well arrangement constraint generation device 105 generates a constraint related to the well arrangement from the input data 108 and the parameter 109, and stores it as the constraint 110 in the DB device 107. Details of this processing will be described later with reference to FIG.
  • step 1510 the CPU of the well arrangement constraint generation apparatus 105 that has completed the generation and storage of the above-described step 1509 notifies the terminal apparatus 114 of the completion of well arrangement restriction generation.
  • Step 1511 the CPU of the terminal device 114 that has received the notification of the completion of well placement constraint generation in Step 1510 described above instructs the constraint satisfaction solution search device 106 to start the constraint satisfaction solution search.
  • the CPU of the constraint satisfaction solution search apparatus 106 determines in step 1512 the constraint satisfaction solution from the generated constraint 110 and the past solution history 112 regarding the optimal placement problem of the well. And the saved solution is stored in the DB device 107 as a new constraint satisfaction solution 111, and a new constraint satisfaction solution is added to the past solution history 112. Details of this processing will be described later with reference to FIG.
  • step 1513 the CPU of the constraint satisfaction solution search apparatus 106 that has finished searching and storing the constraint satisfaction solution in step 1512 described above notifies the terminal device 114 of the completion of the constraint satisfaction solution search.
  • step 1514 the CPU of the terminal device 114 that has received the search completion notification for the constraint satisfaction solution described above stores the constraint satisfaction solution 111 stored in the DB device 107, that is, the recommended position 1301 of the new well, together with the map data 113. This is displayed on the display 306 of the device 114.
  • the display screen here is as already exemplified as the constraint satisfaction solution display screen 1300 in FIG. The main flow of the constraint satisfaction solution search method has been described above.
  • FIG. 16 is a flowchart showing a processing procedure example 2 of the constraint satisfaction solution search method according to the present embodiment. Specifically, this is an operation flow of well arrangement relationship constraint generation in the well arrangement constraint generation apparatus 105 of the example. .
  • step 1601 the CPU of the well arrangement constraint generation apparatus 105 extracts the value of each item in the parameter 109. If there is an unprocessed value among the items of the parameter 109, the CPU of the well arrangement constraint generation apparatus 105 advances the process to step 1602. On the other hand, if a series of processing (steps 1602 to 1605) for each item value is completed, the CPU of the well arrangement constraint generation apparatus 105 advances the processing to step 1606.
  • step 1602 the CPU of the well arrangement constraint generation apparatus 105 sets “new well position” in which the value of the item extracted from the parameter 109 is indicated by parameter IDs “1” to “4” among the parameters 109 illustrated in FIG. If the value is, the coordinate value group indicating the range of the new well position is added to the constraint 110 as a well position constraint.
  • the CPU of the well arrangement constraint generation apparatus 105 sets the value of the item extracted from the parameter 109 to “minimum well distance” indicated by the parameter ID “5” in the parameter 109 illustrated in FIG. If it is a value, the value of the minimum inter-well distance is added to the constraint 110 as a well-to-well distance constraint, for example, as indicated by the constraint ID “3” in FIG.
  • This “constraint distance constraint” whose “constraint ID” is “3” includes the x coordinate of a certain well whose input data ID is “1” and the x coordinate of a certain well whose input data ID is “99”. This corresponds to the constraint that the absolute value of the difference between the two is equal to or smaller than the value of “limx1”.
  • step 1604 the CPU of the well arrangement constraint generation apparatus 105 sets the value of the item extracted from the parameter 109 to “well depth” indicated by the parameter IDs “6” and “7” among the parameters 109 illustrated in FIG. If it is the value of “well”, this well depth value is added to the constraint 110 as well depth constraints as shown by constraint IDs “6” and “7” in FIG.
  • the “well depth constraint” whose “constraint ID” is “6” or “7” corresponds to the constraint that the depth of a certain well, that is, the z coordinate is “10000” or more and “10300” or less. To do.
  • step 1605 the CPU of the well arrangement constraint generation apparatus 105 indicates that the item value extracted from the parameter 109 is “another operator well penalty” indicated by the parameter ID “8” in the parameter 109 illustrated in FIG. 9, for example. Is added to the constraint 110 as another operator well penalty constraint as shown by constraint IDs “1” and “2” in FIG. 10, for example.
  • This “restrictor well penalty penalty constraint” with “constraint ID” being “1” is the minimum distance between wells when the new well operator “1” and the existing well operator “99” are equal.
  • a certain “limx1” corresponds to the restriction “1000”.
  • the “other operator well penalty constraint” with the “constraint ID” being “2” is the minimum distance between the wells when the operator “1” and the operator “99” are different. This corresponds to the restriction that “limx1” is “2000”.
  • the parameter regarding the minimum distance between the wells of another business operator is defined in the parameter content of the “other business well penalty” in FIG.
  • step 1602 After the series of processing from step 1602 to step 1605 described above, the CPU of the well arrangement constraint generation apparatus 105 returns the processing to step 1601.
  • step 1606 the CPU of the well arrangement constraint generation apparatus 105 extracts the value of each item in the well data 400 (FIG. 4). If there is an unprocessed value in each item of the well data 400, the CPU of the well arrangement constraint generation apparatus 105 advances the process to step 1607. On the other hand, if a series of processing (steps 1607 to 1613) for each item value is completed, the CPU of the well arrangement constraint generation apparatus 105 ends the processing.
  • step 1607 the CPU of the well arrangement constraint generating apparatus 105 stores the value of the operating company name 402 in the well data 400 in the memory 302.
  • step 1608 the CPU of the well arrangement constraint generation device 105 acquires the well detail data 500 from the DB device 107 based on the value of the well detail data ID 406 in the well data 400.
  • step 1609 the CPU of the well arrangement constraint generating apparatus 105 extracts each detailed data in the well detailed data 500 obtained in step 1608 described above. If each item of the well detailed data 500 (FIG. 5) is unprocessed, that is, if detailed data has not yet been acquired, the CPU of the well arrangement constraint generating apparatus 105 advances the processing to step 1610. On the other hand, if each item of the well detailed data 500 (FIG. 5) is unprocessed, that is, if detailed data has not yet been acquired, the CPU of the well arrangement constraint generation apparatus 105 returns the processing to step 1606.
  • step 1610 the CPU of the well arrangement constraint generation apparatus 105 has a well ID that matches the well shape data ID 601 from the value of the well shape data ID 504 of the well among the detailed data obtained up to step 1608.
  • Shape data 600 (FIG. 6) is acquired.
  • step 1611 the CPU of the well arrangement constraint generation device 105 adds the management company name of the well stored in the memory 302 in the above step 1607 to the constraint 110 as the management company name constraint.
  • step 1612 the CPU of the well arrangement constraint generating apparatus 105 extracts each shape data in the well shape data 600 obtained in step 1610 described above. If each item of the well shape data 600 (FIG. 6) is unprocessed, that is, if shape data has not yet been acquired, the CPU of the well arrangement constraint generation apparatus 105 advances the processing to step 1613. On the other hand, if each item of the well shape data 600 (FIG. 6) is unprocessed, that is, if there is no shape data acquisition yet, the CPU of the well arrangement constraint generation apparatus 105 returns the processing to step 1609.
  • step 1613 the CPU of the well arrangement constraint generation apparatus 105 adds the shape data obtained in step 1612 to the constraint 110 as a shape constraint.
  • This shape constraint is a constraint that the coordinate value is equal to the coordinate of each shape data in the well shape data 600.
  • the constraint generation processing has been described above.
  • FIGS. 17 and 18 are flowcharts showing processing procedure examples 3 and 4 of the constraint satisfaction solution search method according to this embodiment.
  • the constraint satisfaction solution search apparatus 106 searches for constraint satisfaction solutions. It is a processing flow.
  • the CPU of the constraint satisfaction solution search device 106 generates a statistical model from the past solution history 112 of the DB device 107.
  • a statistical model generated here for example, a hierarchical Bayes model can be adopted.
  • Bayesian statistics for example, when the parameters change a little, by using Bayesian updating, it is possible to estimate a solution that has a high probability of satisfying constraints in terms of Bayesian statistics.
  • SVM support vector machine
  • a general method such as a method using a neural network can be employed.
  • the statistical model generation can be performed using a general method related to machine learning and a general construction method known in the art. Accordingly, it is assumed that the constraint satisfaction solution search apparatus 106 holds an existing program for generating such a statistical model in advance and can call and execute it as necessary.
  • the CPU of the constraint satisfaction solution search apparatus 106 determines the initial domain of the decision variable.
  • the domain is a set of possible values of the decision variable.
  • the CPU of the constraint satisfaction solution search apparatus 106 determines an initial domain determined by the values of the parameters 109 and input data 108 of the DB apparatus 107. For example, the initial domain regarding the x coordinate of the new well is determined as “150,000 to 151000” from the parameter IDs “1” and “2” in the parameter 109.
  • step 1703 the CPU of the constraint satisfaction solution search apparatus 106 updates the statistical model generated in step 1701 using the initial domain determined in step 1702 described above.
  • the statistical model is a Bayesian statistical model, a general method called Bayesian update is used. Even if it is another statistical model, if the update method is known, that method is used. When a statistical model whose update method is not known is adopted, the statistical model may be regenerated using the initial domain as a decision variable.
  • step 1704 the CPU of the constraint satisfaction solution search apparatus 106 extracts each constraint in the constraint 110 of the DB apparatus 107. If the constraint 110 has been processed, that is, if there is a constraint for which acquisition processing has not been performed, the CPU of the constraint satisfaction solution search apparatus 106 advances the processing to step 1705. On the other hand, if the constraint 110 has been processed, that is, if there is no constraint for which acquisition processing has not yet been performed, the CPU of the constraint satisfaction solution search device 106 advances the processing to step 1711.
  • step 1705 the CPU of the constraint satisfaction solution search apparatus 106 evaluates the constraint obtained in step 1704 and changes the domain of the decision variable so that the decision variable can satisfy the constraint. For example, if there is a constraint “Y ⁇ 2” as a constraint, the CPU of the constraint satisfaction solution search apparatus 106 changes the domain of Y so that the domain of the decision variable Y becomes “2 or more”.
  • step 1706 the CPU of the constraint satisfaction solution search apparatus 106 determines whether the above-described decision variable has satisfied the corresponding constraint as a result of the domain change in step 1705 described above. As a result of this determination, if the decision variable satisfies the corresponding constraint (1706: YES), the CPU of the constraint satisfaction solution search device 106 advances the process to step 1707. On the other hand, as a result of the above determination, if the decision variable does not satisfy the corresponding constraint (1706: NO), the CPU of the constraint satisfaction solution search apparatus 106 advances the process to step 1709.
  • step 1707 the CPU of the constraint satisfaction solution search apparatus 106 updates the statistical model using the domain of the decision variable after being changed in step 1705 described above.
  • a method similar to the method described in step 1703 can be used for the statistical model update process.
  • step 1708 the CPU of the constraint satisfaction solution search apparatus 106 executes constraint propagation.
  • constraint propagation is a general method (known) that propagates the result of the domain change of the decision variable described above to another domain of the decision variable, and is used in a general method called constraint programming. It is what. Note that after the processing in step 1708, the CPU of the constraint satisfaction solution search apparatus 106 returns the processing to step 1704.
  • step 1709 the CPU of the constraint satisfaction solution search apparatus 106 executes backtracking.
  • backtracking means returning to another search point. It has already been found that the above decision variable cannot satisfy the corresponding constraint, and the domain of the above decision variable is returned to the state before being changed in step 1705, and another search is performed.
  • step 1710 the CPU of the constraint satisfaction solution search apparatus 106 rewinds the statistical model to the backtrack destination state.
  • the statistical model also needs to be returned to the backtrack in step 1709 described above.
  • the CPU of the constraint satisfaction solution search device 106 may write the previous state in the memory 302 or the auxiliary storage device 308 each time the statistical model is changed. Note that after execution of step 1710, the CPU of the constraint satisfaction solution search apparatus 106 returns the processing to step 1704.
  • step 1704 described above if the restriction 110 has been processed, that is, the acquisition process is not yet restricted, and the process transitions to step 1711, the CPU of the constraint satisfaction solution search apparatus 106 has a unique domain in step 1711. Retrieve each decision variable in an undefined decision variable. If there is a decision variable that has not yet been acquired in the decision variable whose domain is not uniquely determined, the CPU of the constraint satisfaction solution search apparatus 106 advances the processing to step 1712. On the other hand, if there is no decision variable that has not yet been acquired among the decision variables for which the domain is not uniquely determined, the CPU of the constraint satisfaction solution search device 106 ends the process.
  • step 1712 the CPU of the constraint satisfaction solution search apparatus 106 determines whether there is a domain value that has not been subjected to each processing in subsequent steps 1713 to 1719 among the determined variables. If there is an untrial domain value as a result of this determination, the CPU of the constraint satisfaction solution search apparatus 106 advances the process to step 1713. On the other hand, as a result of the above determination, if there is no untrial domain value, the CPU of the constraint satisfaction solution search apparatus 106 advances the process to step 1720.
  • step 1713 the CPU of the constraint satisfaction solution search apparatus 106 acquires the estimated value of the decision variable extracted in step 1711 and processed, from the current statistical model.
  • the statistical model it is possible to obtain an estimated value such as a maximum likelihood estimator for the decision variable.
  • this estimated value is acquired. Note that the present embodiment is characterized in that an estimated value can be obtained even if a pattern of variable values that have not been searched in the past is obtained by updating the statistical model during the search.
  • step 1715 the CPU of the constraint satisfaction solution search apparatus 106 determines whether the constraint can be satisfied by using the new estimated value obtained in step 1713 described above as a decision variable. As a result of this determination, if the constraint can be satisfied with the above estimated value, that is, the maximum likelihood estimated value, the CPU of the constraint satisfaction solution search device 106 advances the process to step 1716. On the other hand, as a result of the determination described above, if the constraint is not satisfied with the estimated value described above, the CPU of the constraint satisfaction solution search apparatus 106 advances the process to step 1718.
  • step 1716 the CPU of the constraint satisfaction solution search apparatus 106 updates the statistical model using the estimated value obtained in the above-described step 1713, that is, the maximum likelihood estimated value.
  • the statistical model can be updated in the same manner as already described in step 1703.
  • step 1717 the CPU of the constraint satisfaction solution search apparatus 106 executes constraint propagation. This constraint propagation is also as already described in step 1708. After execution of step 1717, the CPU of the constraint satisfaction solution search apparatus 106 returns the process to step 1712.
  • step 1718 the CPU of the constraint satisfaction solution search apparatus 106 performs backtracking and returns to the state before the domain change of the decision variable. This backtracking is as already described in step 1709.
  • step 1720 which has been determined that there is no untrial domain value in step 1712 described above, the CPU of the constraint satisfaction solution search apparatus 106 determines whether the domain of the decision variable is not uniquely determined. As a result of this determination, if the domain of the decision variable is not uniquely determined, the CPU of the constraint satisfaction solution search apparatus 106 advances the process to step 1721. On the other hand, as a result of the above determination, if the domain of the decision variable is uniquely determined, the CPU of the constraint satisfaction solution search device 106 returns the process to step 1711.
  • step 1721 the CPU of the constraint satisfaction solution search apparatus 106 backtracks and changes the domain of other decision variables.
  • step 1722 the CPU of the constraint satisfaction solution search apparatus 106 determines whether constraint satisfaction is not possible even when backtracking.
  • the CPU of the constraint satisfaction solution search apparatus 106 advances the process to step 1723.
  • the CPU of the constraint satisfaction solution search apparatus 106 returns the process to step 1711.
  • step 1723 the CPU of the constraint satisfaction solution search apparatus 106 executes a process at the time of search failure and ends the flow.
  • the CPU of the constraint satisfaction solution search apparatus 106 displays on the display 306 that “a constraint satisfaction solution cannot be found” and prompts the operator to reconsider the parameter.
  • the embodiment in which the constraint satisfaction solution search technique of the present invention is applied to the recommended well arrangement calculation has been described above.
  • the constraint satisfaction solution search technique of the present invention can be applied to other technical fields of the above-described recommended well arrangement calculation.
  • the present invention can be applied to the technical field of railway operation prediction. Below, the case where the constraint satisfaction solution search technique of the present invention is applied to such railway operation prediction will be briefly described.
  • FIG. 19 is a diagram illustrating a system configuration example including the constraint satisfaction solution search apparatus 106 according to another embodiment, and specifically, an embodiment in the case where the present invention is applied to a railway operation prediction system.
  • the station system 1901 distributes data instead of the data provider 101.
  • This station system 1901 provides, for example, information on the track circuit falling / falling. This makes it possible to grasp the on-line position of the train.
  • the track circuit is a circuit for detecting the position of the train line by applying a closed circuit of electricity between the track and the axle, and is a technique generally used in the railway field.
  • a railway operation prediction constraint generation device 1902 generates a restriction for the railway instead of the well arrangement restriction generation device 105 described above.
  • a restriction for railway such as not starting before the departure time defined in the timetable, or following trains arriving after a predetermined time after the previous train departs.
  • route data 1904 exists instead of the map data 113 described above.
  • those described in the recommended well arrangement calculation system 103 can be used.
  • each of the above-described configurations, functions, processing units, and the like may be realized by hardware by designing a part or all of them with, for example, an integrated circuit.
  • Each of the above-described configurations, functions, and the like may be realized by software by interpreting and executing a program that realizes each function by the processor.
  • Information such as programs, tables, and files that realize each function can be stored in a memory, a hard disk, a recording device such as an SSD (Solid State Drive), or a recording medium such as an IC card, an SD card, or a DVD.
  • control lines and information lines indicate what is considered necessary for the explanation, and not all the control lines and information lines on the product are necessarily shown. Actually, it may be considered that almost all the components are connected to each other.
  • a high-speed solution search when searching for a solution for a constraint satisfaction problem, even if there are constraint variables that cannot satisfy the constraints in the past solution history, a high-speed solution search can be performed.
  • the arithmetic device generates a Bayes statistical model as the statistical model in the process of estimating the constraint satisfaction solution, and the Bayes statistical model is used in the constraint satisfaction problem. It is good also as what updates by the variable range which satisfies constraints, performs constraint propagation in the said updated Bayesian statistical model, and estimates a constraint satisfaction solution.
  • Bayesian statistics in this way, for example, when a variable changes slightly, a Bayesian update can be used to estimate a solution that is highly likely to satisfy constraints in that scene.
  • the information processing apparatus generates a Bayes statistical model as the statistical model in the process of estimating the constraint satisfaction solution, and the Bayes statistical model is used as the constraint satisfaction problem. It is also possible to update with a variable range that satisfies the constraints in, and execute constraint propagation in the updated Bayesian statistical model to estimate a constraint satisfaction solution.

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

 制約充足解探索装置(106)において、制約充足問題の過去解履歴(112)を格納した記憶装置(308)と、制約伝播を用いた制約充足問題の解探索に際し、制約充足問題の過去解履歴(112)から生成した統計モデルを、制約充足問題における制約(110)を充足する変数範囲で更新し、更新した統計モデルにおいて制約伝播を実行し制約充足解を推定する処理と、更新した統計モデルを用いて、尤度の高い値を優先しつつ制約充足解を探索する処理を実行する演算装置(301)を含む構成とする。

Description

制約充足解探索装置および制約充足解探索方法
 本発明は、制約充足解探索装置および制約充足解探索方法に関する。
 制約充足問題(CSP:Constraint Satisfaction Problem)は、入力パラメータ中から、与えられた制約全てを満たす組み合わせを探索する問題であり、スケジューリング問題等がその具体例である。こうした制約充足問題の厳密解法としては、バックトラッキング法をベースにした制約伝搬の手法を用いることが多い。
 上述したスケジューリング問題に関連する従来技術として以下のような技術が提案されている。すなわち過去に作成された勤務シフト表のデータを取得する勤務シフト表データ取得部と、勤務シフト表データ取得部が取得した過去の勤務シフト表のデータから、確率を用いたアルゴリズムによって確率的に一番高い勤務形態パターンを推測するシフトパターン推測部と、制約条件を記憶した制約条件記憶部と、制約条件記憶部に記憶している制約条件を満足するために制約プログラミングを用い、かつ前記推測した一番可能性が高い勤務形態パターンを反映するためにシフトパターン推測部を用いて、各勤務者に対して所定の期間での各日に勤務形態を割付けて勤務シフト表を生成する勤務シフト表作成処理部とを備え勤務シフト表作成装置(特許文献1参照)などが提案されている。
特開2012-181719号公報
 上述の従来技術においては、過去の勤務シフト表のデータから、確率を用いたアルゴリズムによって確率的に一番高い勤務形態パターンを推測している。しかしながら、パターンに含まれるシフトが一つでも制約を満たせない場合、制約プログラミングを用いて探索を行う必要があり、処理に要する時間が増大しやすいという課題があった。
 そこで本発明の目的は、制約充足問題の解探索に際し、過去の解履歴のうち制約を満たせない制約変数が存在する場合でも、高速に解探索を実行可能とする技術を提供することにある。
 上記課題を解決する本発明の制約充足解探索装置は、制約充足問題の過去解履歴を格納した記憶装置と、制約伝播を用いた前記制約充足問題の解探索に際し、前記制約充足問題の過去解履歴から生成した統計モデルを、前記制約充足問題における制約を充足する変数範囲で更新し、前記更新した統計モデルにおいて制約伝播を実行し制約充足解を推定する処理と、前記更新した統計モデルを用いて、尤度の高い値を優先しつつ制約充足解を探索する処理と、を実行する演算装置を含むことを特徴とする。
 また、本発明の制約充足解探索方法は、制約充足問題の過去解履歴を格納した記憶装置を備えた情報処理装置が、制約伝播を用いた前記制約充足問題の解探索に際し、前記制約充足問題の過去解履歴から生成した統計モデルを、前記制約充足問題における制約を充足する変数範囲で更新し、前記更新した統計モデルにおいて制約伝播を実行し制約充足解を推定する処理と、前記更新した統計モデルを用いて、尤度の高い値を優先しつつ制約充足解を探索する処理を実行することを特徴とする
 本発明によれば、制約充足問題の解探索に際し、過去の解履歴のうち制約を満たせない制約変数が存在する場合でも、高速な解探索が可能となる。
本実施形態における制約充足解探索装置を含むシステム構成例を示す図である。 本実施形態における過去履歴利用制約充足解探索装置の構成例を示す図である。 本実施形態における制約充足解探索装置のハードウェア構成例を示す図である。 本実施形態における入力データのうち井戸データのデータ構造例を示す図である。 本実施形態における入力データのうち井戸詳細データのデータ構造例を示す図である。 本実施形態における入力データのうち井戸形状データのデータ構造例を示す図である。 本実施形態における地図データのうちヘッダ部を示す図である。 本実施形態における地図データのうち画素データを示す図である。 本実施形態におけるパラメータのデータ構造例を示す図である。 本実施形態における制約のデータ構造例を示す図である。 本実施形態における過去解履歴のデータ構造例を示す図である。 本実施形態における端末装置のパラメータ入力画面例を示す図である。 本実施形態における端末装置の制約充足解表示画面例を示す図である。 本実施形態における端末装置の制約充足解表示画面例(詳細表示)を示す図である。 本実施形態における制約充足解探索方法の処理手順例1を示すフロー図である。 本実施形態における制約充足解探索方法の処理手順例2を示すフロー図である。 本実施形態における制約充足解探索方法の処理手順例3を示すフロー図である。 本実施形態における制約充足解探索方法の処理手順例4を示すフロー図である。 他の実施形態における制約充足解探索装置を含むシステム構成例を示す図である。
 以下に本発明の実施形態について図面を用いて詳細に説明する。図1は本実施形態の制約充足解探索装置たる過去履歴利用制約充足解探索装置106を含むシステム構成例を示す図である。図1に示す制約充足解探索装置106(以下、制約充足解探索装置106)は、制約充足問題の解探索に際し、過去の解履歴のうち制約を満たせない制約変数が存在する場合でも、高速に解探索を実行可能とするコンピュータ装置である。この制約充足解探索装置106は、制約充足解探索システムである推奨井戸配置計算システム103を他の装置と構成している。
 推奨井戸配置計算システム103は、本実施形態の制約充足解探索装置の具体的な適用対象となるシステム例である。この推奨井戸配置計算システム103は、油井やガス井の最適配置を計算するシステムであり、上述の制約充足解探索装置106の他に、データ読込装置104、井戸配置制約生成装置105、DB装置107、および端末装置114から構成されている。また推奨井戸配置計算システム103は、ネットワーク102を介してデータプロバイダ101とデータ通信可能に接続されている。
 上述のネットワーク102は、データプロバイダ101と推奨井戸配置計算装置とを接続するインターネット等の媒体であり、有線もしくは無線の形態を採用しうるものである。
 また、データプロバイダ101は、油井やガス井等の掘削会社やコンサルタント、行政組織等が運営する計算機である。このデータプロバイダ101は、油井やガス井等の井戸の位置や形状、産出物や地層状況等のデータを、ネットワーク102を介して推奨井戸配置計算システム103に提供するサーバ装置を想定出来る。
 一方、上述の推奨井戸配置計算システム103におけるデータ読込装置104は、ネットワーク102を介してデータプロバイダ101が提供しているデータや、所定のオペレータが端末装置114にて入力するデータや、他の媒体上にあるデータを入力として受け取り、DB装置107における入力データ108として保存する装置である。なお、上述の端末装置114は、推奨井戸配置計算システム103のオペレータが操作するコンピュータ端末である。
 また、井戸配置制約生成装置105は、井戸配置の最適化のための制約を生成し、この制約の充足解を制約充足解探索装置106に求めさせる装置である。他方、制約充足解探索装置106は、上述の井戸配置制約生成装置105が出力する制約を全て満足する制約充足解を探索し、出力する装置である。
 また、DB装置107は、各装置で取り扱うデータを保持するDBを運用している記憶装置である。このDB装置107は、入力データ108、パラメータ109、制約110、制約充足解111、過去解履歴112、およぼ地図データ113を含んで構成されている。これらの各データの詳細な具体例は後述するが、このうち入力データ108は、データプロバイダ101から取得した井戸位置や形状、地層情報といったデータである。また、パラメータ109は、制約充足解探索装置106の入力となるパラメータである。このパラメータ109は、通常、毎回の制約充足解探索で違う値をとる。また、制約110は、制約充足解探索装置106が探索する解が満たすべき制約である。また、制約充足解111は、制約充足解探索装置106によって探索された、制約充足解である。また、過去解履歴112は、過去探索における制約充足解111を集めたデータである。また、地図データ113は、井戸周辺の地図データである。
---機能の例---
 続いて、本実施形態の制約充足解探索装置106が備える機能について説明する。以下に説明する機能は、例えば制約充足解探索装置106が備えるプログラムを実行することで実装される機能と言える。図2は、本実施形態における制約充足解探索装置106の構成例を示す図である。
 本実施形態の制約充足解探索装置106は、図2にて例示するように、制約充足解探索部201、制約伝播部202、制約充足解推定部203、および制約充足解登録部204の各機能を備えている。このうち制約充足解探索部201は、制約充足解を探索するプログラムを実行することで実装される機能部である。この制約充足解探索部201は、制約充足解探索装置106全体のコントロールも担っている。また、制約伝播部202は、制約伝播と呼ばれる公知手法を用いて、制約を満たす制約変数の値の範囲(ドメイン)を限定するプログラムを実行することで実装される機能部である。また、制約充足解推定部203は、統計手法を用いて、過去解履歴112から制約充足解を推定するプログラムを実行することで実装される機能部である。また、制約充足解登録部204は、探索した制約充足解をDB装置107の過去解履歴112に追加登録するプログラムを実行することで実装される機能部である。
---ハードウェア構成の例---
 続いて、本実施形態における推奨井戸配置計算システム103を構成する各装置のハードウェア構成例について説明する。ここでは、装置のうち制約充足解探索装置106に対応する計算機を例とし、そのハードウェア構成を示すこととするが、他のデータ読込装置104、井戸配置制約生成装置105、および端末装置114についても同様である。図3は本実施形態における制約充足解探索装置106のハードウェア構成例を示す図である。
 図3で例示する計算機は、CPU301、メモリ302、インターフェース303、ネットワークインタフェース304、キーボード305、ディスプレイ306、マウス307、および補助記憶装置308を含んで構成されている。
 このうちCPU301は、中央処理装置(Central Processing Unit)であり、メモリ302に記録されている、またはあらかじめ補助記憶装置308からメモリ302に転送されたプログラム312を実行して上述の各機能部201~204を実現する装置である。なお、上述のプログラム312は、必要に応じて当該計算機が利用可能であり、着脱可能な記憶媒体によって導入されてもよい。この場合、上述の記憶媒体を読み取るための装置がインターフェース303に接続された構成となる。
 なお、このような記憶媒体及びそれを読み取るための装置としては、光ディスク(CD、DVD、ブルーレイディスク等)を用いるものや、フラッシュメモリを用いるものが一般に知られており、これを用いることができる。また、プログラム312は、必要に応じて、ネットワークインタフェース304によって、通信媒体(通信回線又は通信回線上の搬送波)を介して、当該計算機に導入されてもよい。
 また、メモリ302は、RAMなど揮発性記憶素子で構成され、プログラムやデータを一時的に記録する主記憶装置である。
 また、インターフェース303は、当該計算機に外部装置を接続するものであり、接続先装置のコネクタ等の仕様に応じた構成を備えている。
 また、ネットワークインタフェース304は、ネットワーク102を介して外部装置と通信するための装置であり、ネットワーク102の通信プロトコルに応じた機能構成を備えている。
 また、キーボード305は、当該計算機への指示やデータ入力を操作者から受け付けるための入力装置である。一方、ディスプレイ306は、計算機による処理結果等を表示する出力装置である。また、マウス307は、ディスプレイ306の画面上に表示されるポインタを操作者が移動させ、また画面上の任意の場所でのクリック動作を受け付けることで、画面上の位置を指定し、何らかのアクションをCPU301に伝える装置である。なおマウス307は、一般的なタッチパネルによって代替することもできる。この場合、ポインタは不要となる。
 また、補助記憶装置308は、プログラム312及びデータ108~113を格納する不揮発性の記憶装置であり、例えば、磁気ディスクや不揮発性メモリ等によって構成されている。この場合、補助記憶装置308に格納されたプログラム312及びデータ108~113は、当該補助記憶装置308への電源供給がOFFとなった後に再度ONとなった場合でも保持される。なお、この補助記憶装置308には、予めオペレーティングシステム(OS)が導入されていても良い。このようにすることで、ファイル名を用いてプログラムを指定することなどができるようになる。ここで、OSとは、計算機の基本ソフトウェアのことであり、一般に広く知られたOSを用いることができる。
---データ構成の例---
 次に、本実施形態における上述のDB装置107で保持するデータについて説明する。まず、図4~図6を用いて、入力データ108のデータ構造について示す。なお、本実施形態における入力データ108は、井戸データのみとしている。
 図4は、本実施形態における入力データ108のうち、井戸データ400のデータ構造を示す図である。井戸データ400は、既存井戸に関するデータから構成されたものであり、入力データID401をキーとして、運用会社名402、井戸位置x403、井戸位置y404、井戸詳細データ個数405、および井戸詳細データID406の各値を対応付けたレコードの集合体となっている。
 このうち、入力データID401は入力データを一意に特定する識別情報である。また、運用会社名402は、該当井戸の運用会社の名称である。また、井戸位置x403は、該当井戸の地表におけるx座標位置である。また、井戸位置y404は、該当井戸の地表におけるy座標位置である。なお、前述のx座標、y座標は、地図上の所定エリアに関して設定してある座標平面に対応する。また、井戸詳細データ個数405は、該当井戸に関する井戸詳細データの個数である。なお、本実施形態で想定する井戸は、地表面では一つである井戸が地中で分岐して複数の井戸孔を持つ構造を想定している。そのため、1つの井戸に関して複数の井戸詳細データが対応付けされることになる。また、井戸詳細データID406は、上述したように複数の井戸詳細データのうち、代表する井戸詳細データのIDである。こうした井戸データ400のデータ構造により、井戸の運用会社や地表における位置、井戸詳細データへのポインタを知ることができる。図4に例示する井戸データ400では、「○×石油」が運用する井戸が、座標(149500、249500)に存在しており、その詳細データ個数が「3」、代表する井戸詳細データIDが「1」となっている。
 なお、本実施形態における井戸データ400においては、上述の井戸位置に関するx座標、y座標は予め与えられていると仮定する。例えば、easting、northingといった座標が利用可能である。また、緯度、経度といった座標も利用可能である。但し、緯度、経度を用いる場合、経度で表すと同じ長さ(たとえば1秒)となる長さでも、緯度により長さが異なる場合があることに注意を要する。これは、緯度により、地球1周の長さが異なるためである。緯度においても、地球が完全球体でない等のため、経度ほどではないにせよ、長さが異なる場合があり、補正することが必要となる場合もある。
 図5は、本実施形態における入力データ108のうち、井戸詳細データ500のデータ構造例を示す図である。この井戸詳細データ500は、上述の井戸データ400の各井戸データに関して紐付けされている井戸詳細データに対応するものであり、井戸詳細データID501、入力データID502、井戸形状データ個数503、井戸形状データID504、前リンク井戸詳細データID505、および次リンク井戸詳細データID506、の各値を対応付けたレコードの集合体となっている。
 このうち井戸詳細データID501は、井戸詳細データを一意に特定する識別情報であり、上述の井戸データ400における井戸詳細データID406と共通する値となる。また、入力データID502は、当該井戸詳細データが含まれる入力データのIDであり、上述の井戸データ400における入力データID401の値と共通する値となる。また、井戸形状データ個数503は、該当井戸の井戸孔に関する井戸形状データの個数である。また、井戸形状データID504は該当井戸孔に関する井戸形状データのうち代表するもののIDである。また、前リンク井戸詳細データID505は、同じ入力データIDに対応付けされた井戸詳細データのうち、井戸詳細データIDの値が1つ少ない、すなわちIDが前の井戸詳細データIDである。また、次リンク井戸詳細データID506は、同じ入力データIDに対応付けされた井戸詳細データのうち、井戸詳細データIDの値が1つ多い、すなわち次のIDの井戸詳細データIDである。
 こうした井戸詳細データ500のデータ構造により、ある井戸を構成する各井戸孔のそれぞれの井戸形状データにアクセスするためのポインタを得ることができる。図5に例示する井戸詳細データ500では、入力データIDが「1」、すなわち図4の「○×石油」の運用する井戸につき、3つの井戸詳細データ(井戸詳細データID1~3)があり、その井戸形状データ個数が、それぞれ「3」個、「123」個、「234」個あることが示されている。また、それぞれへのアクセスに使うための井戸形状データID「1」、「4」、「127」が示されている。
 図6は、本実施形態における入力データ108のうち、井戸形状データ600のデータ構造を示す図である。この井戸形状データ600は、井戸形状データID601をキーとして、井戸詳細データID602、井戸形状位置x603、井戸形状位置y604、井戸形状位置z605、地層情報606、前リンク井戸形状データID607、および次リンク井戸形状データID608、の各値を対応付けたレコードの集合体となっている。
 このうち井戸形状データID601は、井戸形状データを一意に特定する識別情報であり、図5の井戸詳細データ500における井戸形状データID504の値と共通する値となる。また、井戸詳細データID602は、当該井戸形状データが含まれる井戸詳細データIDであり、図5の井戸詳細データ500における井戸詳細データID501の値と共通する値となる。また、井戸形状位置x603は、井戸位置のx座標である。また、井戸形状位置y604は井戸位置のy座標である。また、井戸形状位置z605は井戸位置のz座標(深さ)である。また、地層情報606は、該当井戸の所在する地層の状況を表すコードである。また、前リンク井戸形状データID607は、同じ井戸詳細データに含まれる、井戸形状データIDの値が1つ少ない、すなわちIDが前の井戸形状データIDである。また、次リンク井戸形状データID608は、同じ井戸詳細データに含まれる、井戸形状データIDの値が1つ多い、すなわちIDが次の井戸形状データIDである。
 こうした井戸形状データ600のデータ構造により、ある井戸の3次元形状と、その付近の地層状況を知ることができる。図6に例示する井戸形状データ600の例では、井戸詳細データIDが「1」である井戸孔の井戸形状や、井戸詳細データIDが「2」である井戸孔の井戸形状の一部が示されている。
 なお本実施形態においては、上述のz座標も適切なものが与えられていると仮定する。特に、z座標は、井戸に沿って測った長さではなく、地表から下した垂線に沿って(仮想的に)測った長さであることに注意を要する。なお、単位は例えばフィートやメートルを使用できる。
 続いて図7、8を用いて、地図データ113のデータ構造について説明する。図7は、本実施形態における地図データ113のうち、ヘッダ部700を示す図である。このヘッダ部品700は、地図データID701をキーとして、作成日時702、始点位置x703、始点位置y704、終点位置x705、終点位置y706、画素数x707、画素数y708、および画素データID709、の各値を対応付けたレコードの集合体となっている。
 このうち地図データID701は、地図データを一意に特定する識別情報である。また、作成日時702は、該当地図データの作成日時である。また、始点位置x703は、該当地図データにおける始点のx座標である。また同様に、始点位置y704は該当地図データにおける始点のy座標である。また、終点位置x705は、該当地図データにおける終点のx座標であり、終点位置y706は終点y座標である。また、画素数x707は、該当地図データにおけるx方向の画素数であり、同様に画素数y708はy方向の画素数である。また、画素データID709は、該当地図データの最初の画素データのIDである。このヘッダ部品700のデータ構造により、地図データの概要や、細切れになった地図データの、始点、終点、作成日時等が分かる。
 図8は、本実施形態における地図データ113のうち、画素データ800を示す図である。画素データ800は、画素データID801、画素データR802、画素データG803、および画素データB804、の各値を対応付けたレコードの集合体となっている。 このうち、画素データID801は画素データを一意に特定する識別情報である。また、画素データR802は該当画素データの赤成分強度であり、画素データG803は緑成分強度、同様に、画素データB804は青成分強度である。こうした画素データ800のデータ構造により、細切れになった地図データの、画像の内容が分かる。なお、画像の内容はRGBそれぞれの成分強度で表される。
 次に、図9を用いて本実施形態の変数たるパラメータ109のデータ構造について説明する。図9にて例示するパラメータ109は、パラメータID901をキーとして、パラメータ名902、およびパラメータ内容903、各値を対応付けたレコードの集合体となっている。
 このうちパラメータID901は、パラメータを一意に特定する識別情報である。また、パラメータ名902は、該当パラメータの名称である。このパラメータ名902には、「新規井戸位置x0」、「新規井戸位置x1」、「新規井戸位置y0」、「新規井戸位置y1」、「最小井戸間距離」、「井戸深さz0」、「井戸深さz1」、および「別事業者井戸ペナルティ」が含まれる。これらは主としてオペレータによって入力される情報である。
 パラメータ名902のうち「新規井戸位置x0」は、新規に配置すべき井戸の地表におけるx座標の最小値である。また、「新規井戸位置x1」は、新規に配置すべき井戸の地表におけるx座標の最大値である。また、「新規井戸位置y0」は、新規に配置すべき井戸の地表におけるy座標の最小値である。また、「新規井戸位置y1」は、新規に配置すべき井戸の地表におけるy座標の最大値である。また、「最小井戸間距離」は、新規に配置すべき井戸が、他の井戸と取るべき最小の距離を表している。また、「井戸深さz0」は新規に配置すべき井戸の最小深度である。また、「井戸深さz1」は新規に配置すべき井戸の最大深度である。また、「別事業者井戸ペナルティ」は、新規に配置すべき井戸が他の井戸と取るべき最小の距離に関し、該当する他の井戸の運営者が別事業者であるときに従うべき最小井戸間距離である。この「別事業者井戸ペナルティ」は、資源掘削において、異なる事業者同士が隣接して井戸掘削を行う状況下に特に利用される。
 次に、図10を用いて制約110のデータ構造例について説明する。図10で例示する本実施形態における制約110は、制約ID1001をキーとして、制約内容1002を対応付けたレコードの集合体となっている。このうち制約ID1001は制約を一意に特定する識別情報である。また、制約内容1002は、該当制約の内容である。
 こうした制約110としては、最小井戸間距離制約が挙げられる。例えば、詳細データIDが「i」のものの運用会社をvo(i)、「j」番目の形状データのうちx座標をvx(i、j)、新規に配置する井戸の詳細データIDを「99」としたとき、図10にて例示するように、「制約ID」が「1」の「制約内容」は「vo(1)=vo(99)→limx1=1000」であり、「制約ID」が「2」の「制約内容」は「vo(1)≠vo(99)→limx1=2000」であり、「制約ID」が「3」である「制約内容」は「abs(vx(1、1)-vx(99、1))>=limx1」である。
 すなわち、新規井戸と井戸詳細データIDが「1」の既存井戸とで、同じ運用会社であれば、limx1が「1000」となり、違う運用会社であれば、limx1が「2000」となる。また、こうした制約下において、第「1」番目の井戸形状につき、新規井戸と井戸詳細データIDが「1」の井戸とで、x座標の絶対値をlimx1以上離している。
 なお、ここでは簡単のため、x座標のみで見ているが、ユークリッド距離(x座標差の2乗とy座標差の2乗を足して平方根をとったもの)で最小井戸間を見ても良いし、1―ノルムや∞-ノルムを用いても良い。
 また、図10で例示する制約110においては、「制約ID」が「6」の「制約内容」は「vz(99、10)>=10000」であり、「制約ID」が「7」の「制約内容」は「vz(99、10)<=10300」である。これらは、z座標、すなわち深さに関わる最小深度、最大深度制約である。
 次に図11を用いて本実施形態における過去解履歴112のデータ構造例について説明する。本実施形態の過去解履歴112は、制約充足問題である、油井やガス井などの井戸の最適配置問題について過去に探索された解の履歴が格納されたものであり、過去解ID1101をキーとして、過去解1102の値を対応付けたレコードの集合体となっている。このうち過去解ID1101は、過去解を一意に特定する識別情報であり、過去解1102は該当過去解の内容である。
 このように過去解履歴112は、過去解をそのまま保存しているDBになる。なお、過去解は複数の値のパターンからなっており、図11で例示する過去解履歴112ではベクトルの形式で値を保存している。例えば、過去解IDが「1」の過去解は「1、3、2、24、・・・」というベクトルである。以上、データ構造について説明した。
---表示画面の例---
 次に、本実施形態の端末装置114のディスプレイ306にて表示される画面の例について図12~14を用いて説明する。図12は、本実施形態における端末装置114のパラメータ入力画面1200の例を示す図である。
 図12にて例示するパラメータ入力画面1200は、地図表示画面1201、新規井戸候補位置1202、既存井戸位置1203、地形情報1204、最小井戸間距離入力ボックス1205、井戸深さz0入力ボックス1206、井戸深さz1入力ボックス1207、別事業者井戸ペナルティ入力ボックス1208、および推奨位置計算ボタン1209を含んで構成されている。
 このうち地図表示画面1201は、地図データ113に基づいて描画した地図の表示領域に対応しており、新規井戸候補位置1202、既存井戸位置1203、および地形情報1204が表示される。
 このうち、新規井戸候補位置1202は、オペレータが指示した新規井戸の候補位置であり、図9のパラメータ109におけるパラメータID「1」~「4」のパラメータが示す新規井戸位置の範囲に応じて描画した矩形領域となる。また、既存井戸位置1203は、図4の井戸データ400における各既存井戸の井戸位置x403、井戸位置y404の各値に応じて描画した既存井戸のアイコンとなる。また、地形情報1204は、地図データ113に含まれている地形の情報を表現した図形であり、道路や山の航空写真画像等である。なお、地図のように写真を解釈した結果であっても構わない。
 また、最小井戸間距離入力ボックス1205は、最小井戸間距離をオペレータが指定するための入力欄である。また、井戸深さz0入力ボックス1206は、井戸深さの最小値をオペレータが指定するための入力欄である。また、井戸深さz1入力ボックス1207は、井戸深さの最大値をオペレータが指定するための入力欄である。また、別事業者井戸ペナルティ入力ボックス1208は、別事業者井戸ペナルティをオペレータが指定するための入力欄である。また、推奨位置計算ボタン1209は、新規井戸の最適位置として推奨する井戸位置の計算実行をオペレータが指示するためのボタンである。
 こうしたパラメータ入力画面1200を端末装置114のディスプレイ306で閲覧するオペレータは、当該端末装置114のキーボード305やマウス307等でパラメータ入力を実行することが可能となる。こうしたパラメータ入力画面1200での入力値は、端末装置114によって、パラメータ109として推奨井戸配置計算システム103のDB装置107に格納される。
 図13は、本実施形態における端末装置114の制約充足解表示画面1300の例を示す図である。図13にて例示する制約充足解表示画面1300は、特に、新規井戸推奨位置1301、詳細表示ボタン1302、および再計算ボタン1303を含んでいる。その他の、最小井戸間距離入力ボックス、井戸深さz0入力ボックス、井戸深さz1入力ボックス、別事業者井戸ペナルティ入力ボックスについては上述のパラメータ入力画面1200と同様である。
 制約充足解表示画面1300における上述の新規井戸推奨位置1301は、制約充足解である、新規井戸の推奨位置を表すアイコンである。また、詳細表示ボタン1302は、該当新規井戸に関する詳細情報の表示をオペレータが指示するためのボタンである。また、再計算ボタン1303は、該当新規井戸の推奨位置に関する再計算、すなわち解探索の再実行をオペレータが指示するためのボタンである。
 こうした制約充足解表示画面1300を端末装置114のディスプレイ306でで閲覧するオペレータは、新規井戸の推奨位置を把握することができる。また、詳細表示ボタン1302をクリック(詳細表示ボタン1302の領域にマウスポインタを合わせた上で、マウス307のボタンを押し下げて離す)することにより、当該新規井戸の詳細を表示させることができる。また、再計算ボタン1303をクリックすることにより、推奨位置の再計算をさせることもできる。
 図14は、本実施形態における端末装置114の制約充足解表示画面(詳細表示)1400の例を示す図である。図14にて例示する制約充足解表示画面(詳細表示)1400は、詳細表示画面1401を含んでいる。この詳細表示画面1401は、上述の制約充足解表示画面1300における詳細表示ボタン1302のクリック事象に応じて、該当新規井戸の詳細を表示する画面である。図14の例においては、該当新規井戸の深さ方向の情報を表示している。なお、こうした詳細表示画面1401では、該当新規井戸の詳細を3次元表現で描画してもよい。さらにマウス307の動きに合わせて、視点等を変更できるようにしてもよい。以上、端末装置114のディスプレイ306における表示画面の例を説明した。
---処理フローの例1(メインフロー)---
 以下、本実施形態における制約充足解探索方法の実際手順について図に基づき説明する。以下で説明する制約充足解探索方法に対応する各種動作は、制約充足解探索装置106を含む制約充足解探索システム103を構成する各装置がそれぞれメモリ等に読み出して実行するプログラムによって実現される。そして、これらのプログラムは、以下に説明される各種の動作を行うためのコードから構成されている。
 図15は、本実施形態における制約充足解探索方法の処理手順例1を示すフロー図であり、具体的には本実施形態における推奨井戸位置計算システム103の処理フローの概略図である。従って本実施形態の制約充足解探索装置106に加えて、データ読込装置104および井戸配置制約生成装置105における処理についても併せて説明するものとする。
 まずステップ1501において、例えばオペレータからの指示を受けた端末装置114のCPUが、データ読込装置104に対し、データ読込開始を指示する。こうした装置間の通信は、一般的な通信やRPC(Remote Procedure Call)等によって実行可能である。以下同様に、このような方法によって各装置間の通信が行われているものとする。
 続いてステップ1502において、上述の端末装置114からの指示を受けたデータ読込装置104のCPUが、データプロバイダ101からデータをダウンロードし、入力データ108として保存する。典型的には、上述のデータプロバイダ101は、油井の位置情報等を提供しているWebサーバである。この場合のデータのダウンロードは、一般的なHTTP(Hypertext Transfer Protocol)を用いて行うことができる。
 次にステップ1503において、上述のステップ1502におけるデータの保存処理に伴い、データ読込装置104のCPUが、端末装置114に対して、データ読込完了を通知する。
 上述のデータ読込完了の通知を受けた端末装置114のCPUが、またステップ1504において、地図データ113と、上述のステップ1502で得ている入力データ108とを用い、ディスプレイ306にて地図を表示する。地図データ113および入力データ108ともに座標データが定義されており、単純な比例計算によって地図データ113と入力データ108を重畳させ、地図上における既存井戸の位置等を表示させることができる。この処理の結果、地図表示画面1201、既存井戸位置1203、および地形情報1204を含んだパラメータ入力画面1200(図12)が端末装置114のディスプレイ306にて表示される。
 次に、ステップ1505において、端末装置114のCPUが、上述のパラメータ入力画面1200における井戸配置計算に関わるパラメータの入力を、キーボード305やマウス307等でオペレータから受け付ける。ここでパラメータ入力を受け付けるインターフェイスは、パラメータ入力画面1200における、最小井戸間距離入力ボックス1205、井戸深さz0入力ボックス1206、井戸深さz1入力ボックス1207、および別事業者井戸ペナルティ入力ボックス1208となる。新規井戸の候補位置に関しては、上述のボックスと同様に入力欄をパラメータ入力画面1200に表示してオペレータからの入力を受け付けるとしてもよいし、或いは、地図表示画面1201において新規井戸の候補位置1202を示すオブジェクト(例:破線矩形)をデフォルトで表示させておき、これをオペレータがマウス307で操作し、オペレータ所望の候補位置に移動させるとしてもよい。
 続いてステップ1506において、端末装置114のCPUが、上述のパラメータ入力画面1200にて新規井戸に関して入力されたパラメータを、パラメータ109としてDB装置107に保存する。この場合のパラメータ109の一例は、図9に関して例示した通りである。図9のパラメータ109の例であれば、新規井戸の位置範囲と最小井戸間距離、井戸深さ、別事業者井戸ペナルティ、といった値がパラメータである。
 次にステップ1507において、端末装置114のCPUが、上述のパラメータ入力画面1200(図12)における推奨位置計算ボタン1209のクリック事象をオペレータから受けて、更にステップ1508において、井戸配置制約生成装置105に対して推奨井戸配置計算の開始を指示する。
 ステップ1509において、井戸配置制約生成装置105のCPUが、入力データ108とパラメータ109から、井戸配置に関わる制約を生成し、制約110としてDB装置107に保存する。本処理の詳細については図16を用いて後述する。
 続いてステップ1510において、上述のステップ1509すなわち、制約110の生成、保存を終えた井戸配置制約生成装置105のCPUが、端末装置114に対して井戸配置制約生成完了を通知する。
 またステップ1511において、上述のステップ1510での井戸配置制約生成の完了通知を受けた端末装置114のCPUが、制約充足解探索装置106に対し、制約充足解探索開始を指示する。
 この制約充足解探索開始の指示を受けた制約充足解探索装置106のCPUは、ステップ1512において、生成されている上述の制約110と、井戸の最適配置問題に関する過去解履歴112とから制約充足解を探索し、探索出来た解を新たな制約充足解111としてDB装置107に保存するとともに、過去解履歴112に新たな制約充足解を追加する。本処理の詳細については、図17を用いて後述する。
 次にステップ1513において、上述のステップ1512での制約充足解の探索と保存等を終えた制約充足解探索装置106のCPUが、端末装置114に対し、制約充足解探索完了を通知する。
 上述の制約充足解の探索完了通知を受けた端末装置114のCPUは、ステップ1514において、DB装置107に保存済みの制約充足解111、すなわち新規井戸の推奨位置1301を、地図データ113と共に、端末装置114のディスプレイ306に表示する。ここでの表示画面は、既に図13の制約充足解表示画面1300として例示したとおりである。以上で、制約充足解探索方法のメインフローに関して説明した。
---処理フローの例2(制約生成)---
 次に図16を用いて、上述の図15のフローにおけるステップ1509の詳細について説明する。図16は、本実施形態における制約充足解探索方法の処理手順例2を示すフロー図であり、具体的には、実施例の井戸配置制約生成装置105における井戸配置関係制約生成の動作フローである。
 この場合、ステップ1601において、井戸配置制約生成装置105のCPUが、パラメータ109内の各項目の値を取り出す。もし、パラメータ109の各項目のうち未処理の値があれば、井戸配置制約生成装置105のCPUは、処理をステップ1602へ進める。他方、各項目の値に対する一連の処理(ステップ1602~1605)が完了した後であれば、井戸配置制約生成装置105のCPUは処理をステップ1606へ進める。
 ステップ1602において、井戸配置制約生成装置105のCPUは、パラメータ109から取り出した項目の値が、例えば図9で例示したパラメータ109のうちパラメータID「1」~「4」で示す「新規井戸位置」の値であれば、この新規井戸位置の範囲を示す座標値群を井戸位置制約として制約110に追加する。
 続いてステップ1603において、井戸配置制約生成装置105のCPUは、パラメータ109から取り出した項目の値が、例えば図9で例示したパラメータ109のうちパラメータID「5」で示す「最小井戸間距離」の値であれば、この最小井戸間距離の値を、例えば図10における制約ID「3」で示すごとき、井戸間距離制約として制約110に追加する。この「制約ID」が「3」である「井戸間距離制約」は、入力データIDが「1」の或る井戸のx座標と、入力データIDが「99」の或る井戸のx座標との差の絶対値が「limx1」の値以下、との制約に対応する。
 次にステップ1604において、井戸配置制約生成装置105のCPUは、パラメータ109から取り出した項目の値が、例えば図9で例示したパラメータ109のうちパラメータID「6」、「7」で示す「井戸深さ」の値であれば、この井戸深さの値を、例えば図10における制約ID「6」、「7」で示すごとき井戸深さ制約として制約110に追加する。この「制約ID」が「6」、「7」である「井戸深さ制約」は、或る井戸の深さ、すなわちz座標が、「10000」以上、「10300」以下、との制約に対応する。
 続いてステップ1605において、井戸配置制約生成装置105のCPUは、パラメータ109から取り出した項目の値が、例えば図9で例示したパラメータ109のうちパラメータID「8」で示す「別事業者井戸ペナルティ」の値であれば、この別事業者井戸ペナルティの値を、例えば図10における制約ID「1」、「2」で示すごとき別事業者井戸ペナルティ制約として制約110に追加する。この「制約ID」が「1」である「別事業者井戸ペナルティ制約」は、新規井戸の事業者“1”と既存井戸の事業者“99”が等しい場合、その井戸の間の最小距離である「limx1」は「1000」である、との制約に対応する。また同様に、この「制約ID」が「2」である「別事業者井戸ペナルティ制約」は、事業者“1”と事業者“99”が異なる場合、その井戸の間の最小距離である「limx1」は「2000」である、との制約に対応する。この別事業者の井戸間の最小距離に関するパラメータは、図9の「別事業者井戸ペナルティ」のパラメータ内容にて規定されている。
 以上のステップ1602~ステップ1605までの一連の処理の後、井戸配置制約生成装置105のCPUは、処理をステップ1601に戻す。
 他方、ステップ1606において、井戸配置制約生成装置105のCPUは、井戸データ400(図4)内の各項目の値を取り出す。井戸データ400の各項目に未処理の値があれば、井戸配置制約生成装置105のCPUは、処理をステップ1607へ進める。他方、各項目の値に対する一連の処理(ステップ1607~1613)が完了した後であれば、井戸配置制約生成装置105のCPUは処理を終了する。
 一方、ステップ1607において、井戸配置制約生成装置105のCPUは、井戸データ400における運用会社名402の値をメモリ302保存する。
 またステップ1608において、井戸配置制約生成装置105のCPUは、井戸データ400における井戸詳細データID406の値より、井戸詳細データ500をDB装置107から取得する。
 次にステップ1609において、井戸配置制約生成装置105のCPUは、上述のステップ1608で得ている井戸詳細データ500内の各詳細データを取り出す。井戸詳細データ500(図5)の各項目に未処理、すなわち詳細データの取得が未だのものがあれば、井戸配置制約生成装置105のCPUは、処理をステップ1610へ進める。他方、井戸詳細データ500(図5)の各項目に未処理、すなわち詳細データの取得が未だのものがなければ、井戸配置制約生成装置105のCPUは、処理をステップ1606へ戻す。
 続いてステップ1610において、井戸配置制約生成装置105のCPUは、ステップ1608までで得ている詳細データのうち、当該井戸の井戸形状データID504の値より、該当IDが井戸形状データID601と一致する井戸形状データ600(図6)を取得する。
 次にステップ1611において、井戸配置制約生成装置105のCPUは、上述のステップ1607にてメモリ302に保存していた当該井戸の運用会社名を運用会社名制約として制約110に追加する。
 また、ステップ1612において、井戸配置制約生成装置105のCPUは、上述のステップ1610で得ている井戸形状データ600内の各形状データを取り出す。井戸形状データ600(図6)の各項目に未処理、すなわち形状データの取得が未だのものがあれば、井戸配置制約生成装置105のCPUは、処理をステップ1613へ進める。他方、井戸形状データ600(図6)の各項目に未処理、すなわち形状データの取得が未だのものがなければ、井戸配置制約生成装置105のCPUは、処理をステップ1609へ戻す。
 この場合、井戸配置制約生成装置105のCPUは、ステップ1613において、ステップ1612で得ている形状データを、形状制約として制約110に追加する。この形状制約は、座標値が井戸形状データ600内の各形状データの座標に等しいという制約である。以上、制約生成の処理について説明した。
---処理フローの例3(制約充足解の探索)---
 次に図17、18を用いて、図15のフローにおけるステップ1512の制約充足解の探索処理の詳細について説明する。図17、18は、本実施形態における制約充足解探索方法の処理手順例3、4を示すフロー図であり、具体的には、本実施形態の制約充足解探索装置106における制約充足解の探索処理フローである。
 まず、ステップ1701において、制約充足解探索装置106のCPUは、DB装置107の過去解履歴112より統計モデルを生成する。ここで生成する統計モデルとしては、例えば階層ベイズモデルを採用できる。ベイズ統計を適用することにより、例えばパラメータが少し変化した場合等、ベイズ更新を用いることにより、その場面でベイズ統計上、制約充足可能性が高い解を推定することができる。また、他の統計モデルとして、SVM(サポートベクターマシン)も採用できる。この場合、各変数(決定変数。以下同様)の値について、どこまでが制約充足解で、どこからが制約非充足となるか推定することができる。その他、ニューラルネットワークを用いるもの等、一般的な手法を採用することが可能である。統計モデル生成に関しては、これら機械学習に関わる一般的な手法、それぞれ公知となっている一般的な構築手法を用いて実行できる。従って、制約充足解探索装置106は、こうした統計モデル生成のための既存のプログラムを予め保持し、必要に応じて呼び出して実行することが出来るものとする。
 次にステップ1702において、制約充足解探索装置106のCPUは、決定変数の初期ドメインを決定する。ここで、ドメインとは決定変数の取り得る値の集合のことである。制約充足解探索装置106のCPUは、DB装置107のパラメータ109や入力データ108の各値によって定まる初期ドメインを決定する。例えば、新規井戸のx座標に関する初期ドメインを、パラメータ109におけるパラメータID「1」、「2」から、「150000~151000」と決定する。
 続いてステップ1703において、制約充足解探索装置106のCPUは、上述のステップ1702で決定した初期ドメインを用いて、ステップ1701で生成済みの統計モデルを更新する。この更新は、該当統計モデルに、上述の初期ドメインの情報を入力し、各決定変数の値の範囲を初期ドメインが示すものに限定することで、該当統計モデルを変化させる。例えば、ある決定変数Xのドメインについて、「X≧3」という情報を統計モデルに入力して、確率Pr(X)=0(X≧3)となるよう統計モデルを変化させることで更新を行うこととなる。統計モデルがベイズ統計モデルであれば、ベイズ更新と呼ばれる一般的な手法を用いることになる。また他の統計モデルであっても、更新手法が知られていればその手法を用いる。なお、更新手法が知られていない統計モデルを採用した場合、統計モデルを初期ドメインを決定変数として再生成すればよい。
 次にステップ1704において、制約充足解探索装置106のCPUは、DB装置107の制約110内の各制約を取り出す。制約110において処理済み、すなわち取得処理が未だの制約があれば、制約充足解探索装置106のCPUは、処理をステップ1705へ進める。他方、制約110において処理済み、すなわち取得処理が未だの制約がなければ、制約充足解探索装置106のCPUは、処理をステップ1711へ進める。
 ステップ1705において、制約充足解探索装置106のCPUは、上述のステップ1704で得た制約を評価し、決定変数が当該制約を充足できるよう、決定変数のドメインを変化させる。例えば、制約として「Y≧2」という制約があれば、制約充足解探索装置106のCPUは、決定変数Yのドメインが「2以上」となるよう、Yのドメインを変化させる。
 続いてステップ1706において、制約充足解探索装置106のCPUは、上述のステップ1705のドメイン変化の結果、上述の決定変数が該当制約を充足できたか判定する。この判定の結果、決定変数が該当制約を充足できていれば(1706:YES)、制約充足解探索装置106のCPUは、処理をステップ1707へ進める。他方、上述の判定の結果、決定変数が該当制約を充足できていなければ(1706:NO)、制約充足解探索装置106のCPUは、処理をステップ1709へ進める。
 ステップ1707において、制約充足解探索装置106のCPUは、上述のステップ1705で変化させた後の決定変数のドメインを用いて、統計モデルを更新する。この統計モデル更新処理には、ステップ1703に述べた方法と同様の方法を用いることができる。
 また、ステップ1708において、制約充足解探索装置106のCPUは、制約伝播を実行する。ここで制約伝播とは、上述の決定変数のドメインの変化の結果を、別の決定変数のドメインに伝播させる一般的な手法(公知)であり、制約プログラミングと言う一般的な手法にて用いられているものである。なお、当該ステップ1708の処理の後、制約充足解探索装置106のCPUは、処理をステップ1704に戻す。
 他方、ステップ1709において、制約充足解探索装置106のCPUは、バックトラックを実行する。ここでバックトラックとは、別の探索ポイントに戻ることである。上述の決定変数が該当制約を充足できないことが既に判明しており、ステップ1705で変化させる前の状態に上述の決定変数のドメインを戻し、別の探索を行うことになる。
 続いてステップ1710において、制約充足解探索装置106のCPUは、統計モデルもバックトラック先の状態に巻き戻す。統計モデルも、上述のステップ1709でのバックトラックに合わせて状態を戻す必要がある。なお、バックトラックに合わせて状態を戻すため、制約充足解探索装置106のCPUは、統計モデルを変化させるごとに、前の状態をメモリ302もしくは補助記憶装置308に書き込んでおけばよい。なお、ステップ1710の実行後、制約充足解探索装置106のCPUは、処理をステップ1704に戻す。
 上述のステップ1704において、制約110において処理済み、すなわち取得処理が未だの制約がなく、処理がステップ1711へ遷移した場合、当該ステップ1711において、制約充足解探索装置106のCPUは、ドメインが一意に定まっていない決定変数内の各決定変数を取り出す。もし、ドメインが一意に定まっていない決定変数内で、取得が今だの決定変数があれば、制約充足解探索装置106のCPUは、処理をステップ1712へ進める。他方、ドメインが一意に定まっていない決定変数内で、取得が今だの決定変数がなければ、制約充足解探索装置106のCPUは、処理を終了する。
 続いてステップ1712において、制約充足解探索装置106のCPUは、当該決定変数のうち、以降のステップ1713~1719の各処理を未試行であるドメイン値があるか判定する。この判定の結果、未試行ドメイン値があれば、制約充足解探索装置106のCPUは、処理をステップ1713へ進める。他方、上述の判定の結果、未試行ドメイン値がなければ、制約充足解探索装置106のCPUは、処理をステップ1720へ進める。
 次にステップ1713において、制約充足解探索装置106のCPUは、ステップ1711で取り出して処理対象となった決定変数の推定値を現統計モデルより取得する。統計モデルによれば、決定変数に関して最尤推定量等の推定値を取得できる。本ステップではこの推定値を取得するものとする。なお、探索中に統計モデルを更新することにより、過去に探索していない変数の値のパターンとなったとしても、なお推定値を取得できる点に、本実施形態の特徴がある。
 続いてステップ1714において、制約充足解探索装置106のCPUは、上述のステップ1713で得た最尤推定値で、決定変数のドメインを変化させる、すなわち決定変数を最尤推定値と推定する。なお、決定変数として最尤推定値を用いるのが通常であるが、最尤推定値で制約を充足出来なかった場合など(すなわち1715で“NO”となり、当該ステップ1714を再実行する場合など)他の推定値(尤度がN番目に高い(N=2、3、・・・)推定値、等)を順次用いることもできる。
 ステップ1715において、制約充足解探索装置106のCPUは、上述のステップ1713で得た新たな推定値を決定変数としたことによって制約を充足できるか判定する。この判定の結果、上述の推定値、すなわち最尤推定値で制約を充足できている場合、制約充足解探索装置106のCPUは、処理をステップ1716へ進める。他方、上述の判定の結果、上述の推定値で制約を充足できていなければ、制約充足解探索装置106のCPUは、処理をステップ1718へ進める。
 続いてステップ1716において、制約充足解探索装置106のCPUは、上述のすなわち1713で得た推定値、すなわち最尤推定値を用いて統計モデルを更新する。統計モデルの更新は、ステップ1703で既に述べた方法と同様の方法で実行できる。
 また、ステップ1717において、制約充足解探索装置106のCPUは、制約伝播を実行する。この制約伝播もステップ1708にて既に述べた通りである。当該ステップ1717の実行後、制約充足解探索装置106のCPUは、処理をステップ1712に戻す。
 他方、ステップ1718において、制約充足解探索装置106のCPUは、バックトラックして、決定変数のドメイン変化前に戻す。このバックトラックは、ステップ1709にて既に述べた通りである。
 続いてステップ1719において、制約充足解探索装置106のCPUは、決定変数の値が上述の最尤推定値でないことに応じて現時点の統計モデルを更新する。なお、上述のステップ1713で得ている推定値が最尤推定値でない場合、当該ステップ1719で用いる推定値も最尤推定値でなく該当推定値となる。決定変数の値が最尤推定値でないことは判明しているため、制約充足解探索装置106のCPUは、Pr(X)=0(X:推定値)という情報を統計モデルに付け加えることで、統計モデルから別の推定値が出力されるように変更する。このステップ1719の実行後、制約充足解探索装置106のCPUは、処理をステップ1712に戻す。
 上述のステップ1712で未試行ドメイン値がないと判定して遷移したステップ1720において、制約充足解探索装置106のCPUは、当該決定変数のドメインが一意に定まっていないかどうか判定する。この判定の結果、当該決定変数のドメインが一意に定まっていない場合、制約充足解探索装置106のCPUは、処理をステップ1721へ進める。他方、上述の判定の結果、当該決定変数のドメインが一意に定まっている場合、制約充足解探索装置106のCPUは、処理をステップ1711へ戻す。
 次に、ステップ1721において、制約充足解探索装置106のCPUは、バックトラックして、他の決定変数のドメインを変化させる。こうしたバックトラックと他の決定変数のドメイン変化の後、ステップ1722において、制約充足解探索装置106のCPUは、バックトラックしても、制約充足不可かどうか判定する。ここでは、制約充足の可能性のみを対象としており、具体的には、決定変数のドメインが空集合でないかどうかを判定する。この判定の結果、もしバックトラックしても制約充足不可であれば、制約充足解探索装置106のCPUは、処理をステップ1723へ進める。他方、上述の判定の結果、バックトラックすれば制約充足可能であれば、制約充足解探索装置106のCPUは、処理をステップ1711へ戻す。
 最後に、ステップ1723において、制約充足解探索装置106のCPUは、探索失敗時の処理を実行し、フローを終了する。この探索失敗時の処理において、制約充足解探索装置106のCPUは、ディスプレイ306において、「制約充足解が見つからない」旨の表示を実行し、オペレータに対してパラメータの再考を促すことになる。
 以上、本発明の制約充足解探索技術を推奨井戸配置計算に適用した実施形態を説明した。本発明の制約充足解探索技術は、上述の推奨井戸配置計算の他の技術分野にも適用が可能である。例えば鉄道運行予測の技術分野に適用することも可能である。以下に、こうした鉄道運行予測に本発明の制約充足解探索技術を適用した場合について簡単に説明する。
 図19は、他の実施形態における制約充足解探索装置106を含むシステム構成例を示す図であり、具体的には、鉄道運行予測システムに本発明を適用した場合の実施形態である。鉄道運行予測システム1903においては、データプロバイダ101の代わりに、駅システム1901がデータを配布する構成となっている。この駅システム1901は、例えば軌道回路の扛上/落下という情報を提供する。これにより、列車の在線位置を把握できる。ここで、軌道回路とは、線路と車軸で電気の閉回路ができることを応用して列車の在線位置を検出するための回路のことであり、鉄道分野で一般に使われている手法である。
 また、鉄道運行予測システム1903においては、上述の井戸配置制約生成装置105の代わりに、鉄道運行予測制約生成装置1902が鉄道向け制約を生成する構成となっている。鉄道向け制約は、例えば時刻表で規定された出発時刻より前には出発しないことや、前の列車が出発後、定められた時間後に後続列車が到着すること、といったものが存在する。また、上述の地図データ113の代わりに路線データ1904が存在する。他の部分は、推奨井戸配置計算システム103で説明したものを流用できる。但し、入力データ108が鉄道用となるなど、各データの中身の違いはありうる。
 こうした構成により、列車運行に合わせて刻々と変化する決定変数(例:現在位置と走行速度、乗降客数、遅延等)が制約、すなわち時刻表上の規定等を満たすよう、頻繁な再計算が必要な鉄道運行予測を高速に実施することが可能となり、鉄道運行予測をより頻繁に行うことが可能となる。また、大規模な鉄道運行予測を扱うことも可能となり、複数線区に跨った大規模な予測も可能となる。
 なお、上記した実施例に限定されない、様々な変形例も可能である。例えば、上記した実施例で説明した全ての構成を備えるものに限定されない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
 また、上記の各構成、機能、処理部等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、SSD(Solid State Drive)等の記録装置、または、ICカード、SDカード、DVD等の記録媒体に置くことができる。
 また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えてもよい。
 こうした本実施形態によれば、制約充足問題の解探索に際し、過去の解履歴のうち制約を満たせない制約変数が存在する場合でも、高速な解探索が可能となる。
 本明細書の記載により、少なくとも次のことが明らかにされる。すなわち、本実施形態の制約充足解探索装置において、前記演算装置は、前記制約充足解を推定する処理に際し、前記統計モデルとしてベイズ統計モデルを生成し、当該ベイズ統計モデルを、前記制約充足問題における制約を充足する変数範囲で更新し、前記更新したベイズ統計モデルにおいて制約伝播を実行し制約充足解を推定するものであるとしてもよい。
 このようにベイズ統計を適用することにより、例えば変数が少し変化した場合等、ベイズ更新を用いることにより、その場面でベイズ統計上、制約充足可能性が高い解を推定することができる。
 また、本実施形態の制約充足解探索方法において、前記情報処理装置が、前記制約充足解を推定する処理に際し、前記統計モデルとしてベイズ統計モデルを生成し、当該ベイズ統計モデルを、前記制約充足問題における制約を充足する変数範囲で更新し、前記更新したベイズ統計モデルにおいて制約伝播を実行し制約充足解を推定するとしてもよい。
101 データプロバイダ
102 ネットワーク
103 推奨井戸配置計算システム
104 データ読込装置
105 井戸配置制約生成装置
106 過去履歴利用制約充足解探索装置(制約充足解探索装置))
107 DB装置
108 入力データ
109 パラメータ
110 制約
111 制約充足解
112 過去解履歴
113 地図データ
114 端末装置
201 制約充足解探索部
202 制約伝播部
203 制約充足解推定部
204 制約充足解登録部
301 CPU(演算装置)
302 メモリ
303 インターフェース
304 ネットワークインタフェース
305 キーボード
306 ディスプレイ
307 マウス
308 補助記憶装置(記憶装置)
400 井戸データ
500 井戸詳細データ
600 井戸形状データ
700 地図データのヘッダ部
800 地図データの画素データ
1201 地図表示画面
1401 詳細表示画面
1901 駅システム
1902 鉄道運行予測制約生成装置
1903 鉄道運行予測システム
1904 路線データ

Claims (4)

  1.  制約充足問題の過去解履歴を格納した記憶装置と、
     制約伝播を用いた前記制約充足問題の解探索に際し、前記制約充足問題の過去解履歴から生成した統計モデルを、前記制約充足問題における制約を充足する変数範囲で更新し、前記更新した統計モデルにおいて制約伝播を実行し制約充足解を推定する処理と、前記更新した統計モデルを用いて、尤度の高い値を優先しつつ制約充足解を探索する処理と、を実行する演算装置と、
     を含むことを特徴とする制約充足解探索装置。
  2.  前記演算装置は、
     前記制約充足解を推定する処理に際し、前記統計モデルとしてベイズ統計モデルを生成し、当該ベイズ統計モデルを、前記制約充足問題における制約を充足する変数範囲で更新し、前記更新したベイズ統計モデルにおいて制約伝播を実行し制約充足解を推定するものである、
     ことを特徴とする請求項1に記載の制約充足解探索装置。
  3.  制約充足問題の過去解履歴を格納した記憶装置を備えた情報処理装置が、
     制約伝播を用いた前記制約充足問題の解探索に際し、前記制約充足問題の過去解履歴から生成した統計モデルを、前記制約充足問題における制約を充足する変数範囲で更新し、前記更新した統計モデルにおいて制約伝播を実行し制約充足解を推定する処理と、
     前記更新した統計モデルを用いて、尤度の高い値を優先しつつ制約充足解を探索する処理と、
     を実行することを特徴とする制約充足解探索方法。
  4.  前記情報処理装置が、
     前記制約充足解を推定する処理に際し、前記統計モデルとしてベイズ統計モデルを生成し、当該ベイズ統計モデルを、前記制約充足問題における制約を充足する変数範囲で更新し、前記更新したベイズ統計モデルにおいて制約伝播を実行し制約充足解を推定する、
     ことを特徴とする請求項3に記載の制約充足解探索方法。
PCT/JP2014/082369 2014-12-08 2014-12-08 制約充足解探索装置および制約充足解探索方法 WO2016092605A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/JP2014/082369 WO2016092605A1 (ja) 2014-12-08 2014-12-08 制約充足解探索装置および制約充足解探索方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2014/082369 WO2016092605A1 (ja) 2014-12-08 2014-12-08 制約充足解探索装置および制約充足解探索方法

Publications (1)

Publication Number Publication Date
WO2016092605A1 true WO2016092605A1 (ja) 2016-06-16

Family

ID=56106859

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2014/082369 WO2016092605A1 (ja) 2014-12-08 2014-12-08 制約充足解探索装置および制約充足解探索方法

Country Status (1)

Country Link
WO (1) WO2016092605A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018055524A (ja) * 2016-09-30 2018-04-05 株式会社日立製作所 資源開発支援システム、資源開発支援方法、及び資源開発支援プログラム

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009073623A (ja) * 2007-09-20 2009-04-09 Ns Solutions Corp 運用割当装置、運用割当方法及びプログラム
JP2014013490A (ja) * 2012-07-04 2014-01-23 Nippon Telegr & Teleph Corp <Ntt> 画像領域分割装置、その方法及びプログラム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009073623A (ja) * 2007-09-20 2009-04-09 Ns Solutions Corp 運用割当装置、運用割当方法及びプログラム
JP2014013490A (ja) * 2012-07-04 2014-01-23 Nippon Telegr & Teleph Corp <Ntt> 画像領域分割装置、その方法及びプログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018055524A (ja) * 2016-09-30 2018-04-05 株式会社日立製作所 資源開発支援システム、資源開発支援方法、及び資源開発支援プログラム

Similar Documents

Publication Publication Date Title
US9772822B2 (en) Visualization framework for customizable types in a development environment
JP5924740B2 (ja) 実時間ミッションプランニング
CN110050257A (zh) 可执行数据流图的差分
US9787798B2 (en) Generating collapsed user interface interaction sequence controls in mobile applications
CN107408049B (zh) 计算系统和计算机实现的方法
US10623248B2 (en) Assessing computing environment changes using specification documents
US20130159036A1 (en) Runtime generation of instance contexts via model-based data relationships
US20200097867A1 (en) Visualization of cross-project dependency risk
CN116057504A (zh) 机器人流程自动化的用户界面(ui)描述符、ui对象库、ui对象储存库和ui对象浏览器
US11853794B2 (en) Pipeline task verification for a data processing platform
US20140279823A1 (en) Lifecycle product analysis
JP2005242904A (ja) 文書群分析装置、文書群分析方法、文書群分析システム、プログラムおよび記録媒体
US20210312324A1 (en) Systems and methods for integration of human feedback into machine learning based network management tool
CN105468381A (zh) 一种安卓和iOS快速集成第三方类库的系统及操作方法
WO2016092605A1 (ja) 制約充足解探索装置および制約充足解探索方法
US20230215061A1 (en) Project visualization system
US20220365912A1 (en) Data Quality Management System
US11797770B2 (en) Self-improving document classification and splitting for document processing in robotic process automation
US20220100964A1 (en) Deep learning based document splitter
Zheng et al. A simulation-as-a-service framework facilitating webgis based installation planning
US11663038B2 (en) Workflow data migration management
JP2010061200A (ja) 文書管理システム及び操作履歴表示方法
Vabø et al. Novel Application of Artificial Intelligence with Potential to Transform Well Planning Workflows on the Norwegian Continental Shelf
Akoum et al. Big Data Insight towards Well planning, A case study
Mearns QGIS Blueprints

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

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 14908033

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP