WO2018203530A1 - 情報処理装置、情報処理方法 - Google Patents

情報処理装置、情報処理方法 Download PDF

Info

Publication number
WO2018203530A1
WO2018203530A1 PCT/JP2018/017222 JP2018017222W WO2018203530A1 WO 2018203530 A1 WO2018203530 A1 WO 2018203530A1 JP 2018017222 W JP2018017222 W JP 2018017222W WO 2018203530 A1 WO2018203530 A1 WO 2018203530A1
Authority
WO
WIPO (PCT)
Prior art keywords
creation
information processing
plan
accuracy
algorithm
Prior art date
Application number
PCT/JP2018/017222
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 キヤノン株式会社
Publication of WO2018203530A1 publication Critical patent/WO2018203530A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
    • 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/04Manufacturing
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/30Computing systems specially adapted for manufacturing

Definitions

  • the present invention relates to a production plan creation technique.
  • a production planner determines when to produce a product associated with an order, and creates a production plan to produce the printed matter.
  • production plans have been created by estimating the work time required for manufacturing a product associated with an order and assigning the work time to the operating time of a manufacturing apparatus or a worker. This method is called dispatching. By dispatching, it was decided who worked on which equipment on which order on that day.
  • Patent Literature 1 discloses a technique for calculating a production plan by creating a mathematical model considering a plurality of requirements and obtaining an optimal solution by a combination optimization and search method of mathematical optimization techniques.
  • Patent Document 1 since the technique disclosed in Patent Document 1 is based on the premise that an optimal solution is obtained, when the number of orders is large or the planning target period is long, the number of combinations of variables used for optimization becomes enormous. It was difficult to find an optimal solution within a realistic time.
  • the present invention has been made in view of the above problems, and provides a technology that enables a plan to be created in a business-realistic time.
  • a reception unit that receives designation of a creation accuracy of a plan for assigning a work process to a resource, an algorithm corresponding to the creation accuracy received by the reception unit, and creation of the plan corresponding to the creation accuracy
  • creating means for creating the plan based on the end condition.
  • FIG. 3 is a block diagram illustrating a hardware configuration example of the information processing apparatus 105.
  • the block diagram which shows the function structural example in each apparatus of a planning system.
  • the figure which shows the structural example of manufacturing information The figure which shows the structural example of a manufacturing process table.
  • the figure which shows the structural example of a resource is included in the specification, constitute a part thereof, show an embodiment of the present invention, and are used to explain the principle of the present invention together with the description.
  • the block diagram which shows the structural example of a planning system.
  • FIG. 3 is a block diagram illustrating a hardware configuration example of the information processing apparatus 105.
  • the block diagram which shows the function structural example in each apparatus of a planning system.
  • the figure which shows the structural example of order information The flowchart which shows the detail of the process in step S204.
  • the figure which shows the structural example of a condition table The figure which shows the structural example of a Gantt chart.
  • the figure which shows the structural example of a condition table The figure which shows the structural example of GUI1301.
  • a planning system including a terminal on the orderer side and a device on the printing company side will be described by taking as an example the creation of a product production plan performed by a printing company that has received an order for a product (printed material) from an orderer.
  • the product production plan refers to which work process is assigned to which resource when the product is manufactured using the resources that the printing company has (equipment that can be used by printing company personnel or the printing company). It is a process to plan.
  • the planning system according to the present embodiment includes an orderer terminal 102 that is a terminal device provided in an orderer environment 101 (company, house, etc.) that is an environment of a product orderer, And an apparatus group (104 to 109) in the printing company 103 which is an order receiving side.
  • the orderer terminal 102 and the device group (104 to 109) in the printing company 103 are configured to be capable of data communication with each other via the Internet 110.
  • Each of the device groups (104 to 109) in the printing company 103 is also configured to be able to perform data communication with each other via a network such as a LAN.
  • the orderer terminal 102 is a terminal device operated by the orderer of the product, and the orderer creates the order details of the product by operating the orderer terminal 102. Then, the orderer terminal 102 places an order for the product to the printing company 103 by transmitting the created order content to the printing company 103 via the Internet 110.
  • the printing company 103 creates a product according to the order from the orderer terminal 102 and delivers the created product.
  • the printing company 103 is provided with an order receiving server 104, an information processing device 105, a printing device 106, a processing device 107, an inspection device 108, and a delivery device 109.
  • the order receiving server 104 receives an order content transmitted from the orderer terminal 102 via the Internet 110 to receive an order for a product from the orderer.
  • the information processing apparatus 105 functions as a plan server for creating a production plan related to creation of a product according to an order received from the orderer terminal 102.
  • the printing device 106 prints characters or other characters on a print medium such as paper based on the print data of the ordered product among the print data (print data for printing the product) of various products held by the device of the printing company 103.
  • a printed matter as a product is generated by performing a printing process for forming an image.
  • the processing device 107 performs bookbinding processing on the printed matter generated by the printing device 106.
  • the inspection device 108 performs inspection processing for inspecting whether or not the printed material according to the order has been manufactured with respect to the printed material that has been bound by the processing device 107.
  • the delivery device 109 performs processing related to delivery of the printed matter such as a procedure for delivering the printed matter that has been inspected by the inspection device 108 to the delivery destination included in the order contents.
  • the above-described device group included in the printing company 103 is an example.
  • several devices included in the printing company 103 illustrated in FIG. 1 may be combined into one device, or the printing company illustrated in FIG. You may add a new apparatus to the apparatus which 103 has.
  • the orderer terminal 102 transmits the order contents of the product input in accordance with the operation of the orderer terminal 102 by the orderer to the order receiving server 104 via the Internet 110.
  • the order receiving server 104 will be described.
  • the order receiving unit 302 receives the order contents transmitted from the orderer terminal 102, creates order information described later from the received order contents, and stores the order information in the holding unit 303.
  • the display unit 304 performs processing related to display of various screens including a setting screen such as a GUI (graphical user interface).
  • the input unit 305 receives various inputs from the user of the information processing apparatus 105 (acceptance).
  • the setting input unit 306 receives “setting related to creation accuracy required for production plan (accuracy parameter)” from the user of the information processing apparatus 105.
  • the condition holding unit 307 functions as a memory and holds a table (condition table) in which conditions (optimization conditions) for performing a process (optimization process) for creating a production plan for various accuracy parameters are registered ( Management).
  • the condition determination unit 308 determines an optimization condition corresponding to the accuracy parameter received by the setting input unit 306 from the condition table.
  • the holding unit 309 functions as a memory and holds various parameters (optimization parameters) used in the optimization process.
  • the optimization parameter includes a setting value specific to an algorithm applied to the optimization process, a weight for an optimization evaluation index, and the like.
  • the buffer memory 311 is a memory used for the information processing apparatus 105 to perform various processes.
  • the manufacturing information holding unit 312 functions as a memory and holds information groups (601 to 604) shown in FIGS. 6A to 6D as manufacturing information. Details of the manufacturing information will be described later.
  • the creation unit 313 creates a product production plan based on order information, manufacturing information, and optimization conditions.
  • the printing apparatus 106 will be described.
  • the printing unit 320 instructs the printing apparatus 106 to print based on the print data.
  • the processing apparatus 107 will be described.
  • the processing unit 321 instructs the processing device 107 to perform bookbinding processing of the printed matter generated by the printing device 106.
  • the inspection device 108 will be described.
  • the inspection unit 322 instructs the inspection device 108 to inspect the printed matter that has been subjected to bookbinding processing.
  • the delivery device 109 will be described.
  • the delivery unit 323 instructs the delivery device 109 to perform various processes related to the delivery of the printed matter that has been inspected by the inspection device 108.
  • the CPU 201 executes processing using computer programs and data stored in the ROM 202 and RAM 203. As a result, the CPU 201 controls the operation of the entire information processing apparatus 105 and executes or controls each process described later as what the information processing apparatus 105 performs.
  • the ROM 202 stores various computer programs and data that do not require rewriting.
  • the RAM 203 has an area for storing computer programs and data loaded from the storage device 206 and data received from the outside via the network I / F 207. Further, the RAM 203 has a work area used when the CPU 201 executes various processes. Thus, the RAM 203 can provide various areas as appropriate.
  • the display 204 is configured by a CRT, a liquid crystal screen, or the like, and can display a processing result by the CPU 201 using an image, text, or the like. Instead of the display 204, a projector that projects images and characters may be used.
  • the display 204 may be a touch panel screen.
  • the keyboard 205 and the pointing device 208 are user interfaces that allow various instructions to be input to the CPU 201 when operated by the user of the information processing apparatus 105.
  • the pointing device 208 includes a mouse, a trackball, and the like. Note that when the information processing apparatus 105 is, for example, a smartphone or a tablet terminal apparatus, the keyboard 205 may be omitted.
  • the storage device 206 is a large-capacity information storage device represented by a hard disk drive device.
  • the storage device 206 stores an OS (Operating System) and computer programs and data for causing the CPU 201 to execute each process described below as performed by the information processing apparatus 105.
  • the computer program stored in the storage device 206 includes a computer program for causing the CPU 201 to realize the functions of the respective function units (excluding the function unit functioning as a memory) of the information processing apparatus 105 illustrated in FIGS. It is included.
  • the data stored in the storage device 206 includes data that is described as known information in the following embodiments and modifications including the present embodiment. Computer programs and data stored in the storage device 206 are appropriately loaded into the RAM 203 under the control of the CPU 201 and are processed by the CPU 201. Note that the functional unit functioning as a memory in FIGS. 3 and 10 includes the RAM 203 and the storage device 206.
  • the network I / F 207 functions as an interface in data communication between the information processing apparatus 105 and each apparatus in the printing company 103.
  • the information processing apparatus 105 performs data communication with each apparatus in the printing company 103 via the network I / F 207.
  • CPU 201 CPU 201, ROM 202, RAM 203, display 204, keyboard 205, storage device 206, network I / F 207, and pointing device 208 are all connected to the bus 209.
  • the functional unit of the information processing apparatus 105 shown in FIG. 3 will be described as the main subject of processing.
  • the CPU 201 executes the computer program corresponding to the functional unit so that the functional unit The function of the department is realized.
  • step S ⁇ b> 101 the orderer creates an order content for the product by operating the orderer terminal 102. Then, the orderer terminal 102 transmits the created order details to the printing company 103 via the Internet 110.
  • the orderer terminal 102 accesses a product site provided by the printing company 103 and displays a list of various products provided by the printing company 103 on the display screen of the orderer terminal 102.
  • the user operates the operation unit of the orderer terminal 102 to specify one or more products from this list, and for each specified product, specifies the number of copies to be ordered, the delivery date, the delivery address of the product, etc. To do.
  • the orderer terminal 102 (ordering unit 301) transmits the details of the order made by the user to the printing company 103 via the Internet 110.
  • step S102 the order receiving unit 302 of the order receiving server 104 receives the order details transmitted by the ordering unit 301 in step S101, generates order information to be described later from the received order details, and receives the generated order information as an order. Register in the holding unit 303 of the server 104.
  • step S103 the information processing apparatus 105 creates a production plan for manufacturing a product corresponding to the order received from the orderer terminal 102. Details of the processing in step S103 will be described later.
  • step S ⁇ b> 104 the printing apparatus 106 forms a character or an image on a print medium such as paper based on the print data of the ordered product among the print data of various products held by the apparatus of the printing company 103. To generate a printed product as a product.
  • the processing device 107 performs bookbinding processing on the printed matter generated by printing by the printing device 106.
  • step S105 the inspection device 108 performs an inspection process for inspecting whether the printed material according to the order has been manufactured for the printed material that has been bound by the processing device 107 in step S104.
  • step S106 the delivery device 109 performs processing related to delivery of the printed matter such as a procedure for delivering the printed matter inspected by the inspection device 108 in step S105 to the delivery destination.
  • step S ⁇ b> 201 the display unit 304 displays a GUI (plan creation screen) 501 illustrated in FIG. 5 on the display 204.
  • the button 502 is a button for instructing reading of order information.
  • the display unit 304 reads the order information registered in the holding unit 303 of the order receiving server 104, and displays the order information as an order list 507 on the GUI 501. To display.
  • the keyboard 205 and the pointing device 208 are collectively referred to as an instruction unit.
  • the order list 507 includes an order item ID 508, a product name 509, the number of pages 510, the number of copies 511, and a distribution destination device 512 determined by creating a production plan.
  • the order item ID 508 is a unique ID for each product.
  • the product name 509 is the name of the product.
  • the page number 510 is the number of product pages.
  • the number of copies 511 is the number of copies of the product.
  • the distribution destination device 512 represents an apparatus that manufactures a product. The items included in the order list 507 are not limited to these.
  • the button 503 is a button for starting a setting GUI for setting the creation accuracy required for the product production plan.
  • the display unit 304 displays the GUI 801 illustrated in FIG. A GUI 801 illustrated in FIG. 8A will be described later.
  • the button 504 is a button for instructing the start of production plan creation.
  • the button 504 When the user operates the instruction unit to instruct the button 504, production process creation processing by the creation unit 313 is started.
  • the button 505 is a button for instructing the display of the Gantt chart created by the production plan creation process.
  • the display unit 304 displays the Gantt chart illustrated in FIG.
  • the Gantt chart illustrated in FIG. 9 will be described later.
  • the button 506 is a button for instructing to close the GUI 501.
  • the display unit 304 deletes the GUI 501 from the display screen of the display 204 (closes the GUI 501).
  • step S202 is a process performed when the user operates the instruction unit to instruct the button 502.
  • the input unit 305 reads out the order information held in the holding unit 303 to the buffer memory 311 and the manufacturing information stored in the manufacturing information holding unit 312. Read to buffer memory 311.
  • step S203 is a process for the GUI 801 in FIG. 8A displayed on the display 204 in response to the user operating the instruction unit to instruct the button 503 on the GUI 501.
  • the indicator 803 can be moved to an arbitrary position between the left end 802 and the right end 810 of the range 831 in which the indicator 803 can be moved by the user operating the instruction unit.
  • the user moves the indicator 803 closer to the right end 810 when he wants to make a production plan with emphasis (priority) on the creation accuracy over the creation speed (to increase the importance of the creation accuracy).
  • the user moves the indicator 803 closer to the left end 802 when he / she wants to make a production plan with emphasis on the creation speed rather than the creation accuracy (when the importance of creation accuracy is to be lowered).
  • the setting input unit 306 sets a value P corresponding to the position of the indicator 803 as the value of the accuracy parameter, and stores the accuracy parameter in the buffer memory 311. Then, the display unit 304 deletes the GUI 801 from the display screen of the display 204 (closes the GUI 801).
  • the setting input unit 306 sets “0” to the value P.
  • the setting input unit 306 sets “1” to the value P.
  • the setting input unit 306 sets the value P to Set “L / D”.
  • D indicates the distance between the right end 810 and the left end 802.
  • a value P corresponding to the position is obtained.
  • a value P corresponding to the position of the indicator 803 at that time is set as the value of the accuracy parameter.
  • the display unit 304 deletes the GUI 801 from the display screen of the information processing apparatus 105. At this time, there is no change in the value of the accuracy parameter.
  • the greater the value of the accuracy parameter the more accurate the production plan will be instructed.
  • the smaller the accuracy parameter value the more important the production speed will be directed than the accuracy. become.
  • the accuracy parameter corresponding to the position is set by moving the indicator 803 left and right, but the setting method of the accuracy parameter is not limited to a specific setting method.
  • a text box may be provided in the GUI 801, and a numerical value (an arbitrary numerical value between 0 and 1) input in the text box may be used as the value of the accuracy parameter.
  • the value of the accuracy parameter is a real number between 0 and 1, but the value of the accuracy parameter is not limited to this range.
  • a default value (for example, 0) is set in advance as the initial value of the accuracy parameter.
  • step S204 and step S205 are processing performed in response to the user operating the instruction unit to instruct the button 504 of the GUI 501.
  • the process of step S204 is executed without the user operating the instruction unit to instruct the button 504 of the GUI 501
  • the process of step S205 is performed by the user operating the instruction unit to instruct the button 504 of the GUI 501. It may be performed according to circumstances.
  • step S204 the condition determining unit 308 reads the condition table stored in the condition holding unit 307 into the buffer memory 311 and determines an optimization condition corresponding to the value of the accuracy parameter from the condition table. Details of the processing in step S204 will be described with reference to the flowchart of FIG.
  • step S301 the condition determination unit 308 reads the accuracy parameter (the accuracy parameter set by the GUI 801 in FIG. 8A) from the buffer memory 311.
  • the value of the accuracy parameter read from the buffer memory 311 in step S301 is represented as a.
  • step S302 the condition determining unit 308 reads the condition table stored in the condition holding unit 307 into the buffer memory 311.
  • a configuration example of the condition table is shown in FIG. 8B.
  • an internal algorithm 813 and an accuracy 814 corresponding to each value of the accuracy parameter 812 are registered.
  • the internal algorithm 813 is a character string indicating an algorithm for creating a production plan.
  • the accuracy 814 is the creation accuracy required when creating a production plan.
  • “10.0” (%) is registered as the corresponding accuracy 814
  • “1.0" (%) is registered as the accuracy 814 to be performed.
  • step S303 the condition determination unit 308 initializes the value of a variable i used below to 0.
  • step S304 the condition determining unit 308 determines whether i ⁇ n (n is the number of rows in the condition table) is satisfied. As a result of this determination, if i ⁇ n is not satisfied (when all the accuracy parameters registered in the condition table are processed after step S305), the process proceeds to step S205. On the other hand, if i ⁇ n is satisfied (the process after step S305 has not been performed for some or all of the accuracy parameters registered in the condition table), the process proceeds to step S305.
  • the variable algo is stored in the buffer memory 311.
  • the variable p is stored in the buffer memory 311.
  • step S308 the condition determination unit 308 determines whether or not ai ⁇ a ⁇ a (i + 1) (a (i + 1) is the value of the accuracy parameter in the (i + 1) th row of the condition table). As a result of this determination, if ai ⁇ a ⁇ a (i + 1) is satisfied, the process proceeds to step S309. If ai ⁇ a ⁇ a (i + 1) is not satisfied, the process proceeds to step S311. Proceed to In step S311, the condition determination unit 308 increments the value of the variable i by one, and the process returns to step S304.
  • the variable algo is stored in the buffer memory 311.
  • step S310 the condition determination unit 308 obtains the value of the variable p based on the following equation.
  • the variable p is stored in the buffer memory 311.
  • the creation unit 313 first obtains a processing time T as an end condition of the production plan creation process using the accuracy (value of the variable p) acquired in step S204.
  • the accuracy of production plan creation processing increases as the number of iterations of the optimization processing increases. That is, the longer the processing time of the optimization process, the higher the accuracy of the optimization process. Therefore, in the present embodiment, the accuracy of the optimization process is approximated by the processing time T and used as the termination condition for the optimization process.
  • the processing time T is obtained, for example, according to the formula “3600 ⁇ (1 ⁇ p / 100) (seconds)”.
  • the corresponding processing time T “3600 ⁇ (1-pi / 100) (seconds)” may be registered in the condition table instead of pi. That is, information for specifying the end condition of the production plan creation process directly or indirectly may be registered in the condition table.
  • the creation unit 313 performs an optimization process using the order information and manufacturing information acquired in step S202 according to the algorithm specified by the internal algorithm 813 acquired in step S204.
  • the optimization parameter corresponding to the algorithm is acquired from the holding unit 309 and used.
  • a process is assigned to the operation time of the resource in order to manufacture a product corresponding to the order information. Since the process of creating a production plan using order information and manufacturing information is well known, description thereof will be omitted.
  • the creation unit 313 outputs the production plan at this point.
  • the output destination is not limited to a specific output destination. For example, as the distribution destination device 512 corresponding to each order item ID 508, information (such as the name of the device) of the device assigned to manufacture the product corresponding to the order item ID 508 by the production plan is displayed.
  • the production plan created by the creation unit 313 will be described.
  • the priority of the creation accuracy is set high, the achievement degree of the evaluation index of the algorithm for creating the production plan becomes high. Therefore, for example, when the lead time is included in the evaluation index, a production plan with a short lead time is output. If the creation accuracy priority is set a little lower, a production plan with a slightly longer lead time is output. If the priority of creation accuracy is set to the lowest, a production plan with a longer lead time is output.
  • the coefficient of the term for evaluating daily leveling is increased when only the load for five people per day is allowed. Thus, it is possible to avoid exceeding the allowable value of the daily load.
  • the table group shown in FIGS. 6A to 6D is manufacturing information.
  • the product table 601 is a table in which product names, manufacturing process IDs, and prices are registered for each product ID.
  • Product ID is identification information unique to each product.
  • the product name is the name of each product.
  • the manufacturing process ID is identification information unique to the manufacturing process of each product.
  • the price is a price per copy of each product, and in this embodiment, the unit is “yen”. However, the unit of price should just select an appropriate currency unit according to the situation of the country or user who uses this system.
  • the identification information unique to the manufacturing process of the product (manufacturing process ID) is “P001”
  • one part of the product The per price is “1”.
  • the manufacturing process table 602 is a table in which manufacturing process names and process IDs corresponding to the respective manufacturing process IDs registered in the product table 601 are registered.
  • the manufacturing process name is the name of the manufacturing process.
  • the process ID is identification information unique to the final process of the manufacturing process.
  • the process table 603 is a table in which process names, resource IDs, previous process IDs, and unit work times corresponding to the respective process IDs registered in the manufacturing process table are registered.
  • the process name is the name of the process.
  • the resource ID is identification information unique to the resource used in the process.
  • the previous process ID is identification information unique to the previous process.
  • the unit work time is a work time per time in the process.
  • the unit of the unit work time is “second”, but is not limited thereto. In the case of FIG.
  • the identification information (resource ID) unique to the resource used in the process is “P001”.
  • the resource table 604 is a table in which resource names corresponding to respective resource IDs registered in the process table are registered.
  • the resource name is the name of the resource.
  • the order information 605 is information in which the order contents received from the orderer terminal 102 are registered in a table format. For each order item ID of the ordered product, a product ID, an order quantity, an order date and time, This is a table in which the manufacturing deadline, priority, and number of pages are registered.
  • the order item ID is a unique ID for each product, and is displayed in the order list 507 as the order item ID 508. Since the order contents transmitted from the orderer terminal 102 to the printing company 103 include the order item ID of the product to be ordered, the printing company 103 side uses the order item ID included in the order contents. It is possible to identify the ordered product.
  • Product ID is identification information unique to each product.
  • the order quantity is the number of copies of the ordered product.
  • the order date and time is the date and time when the order is received (for example, the date and time when the order receiving server 104 receives the order details of the corresponding product).
  • the production deadline is a deadline date and time when the production of the ordered product must be completed.
  • the priority is a priority for manufacturing a product, and is expressed here as an example in a range of 1 to 100, where 100 is a high priority and 1 is a low priority.
  • the number of pages is the number of pages constituting the ordered product.
  • the product name of this product is “flyer” from the product table 601 of FIG. 6A. It can be seen that the price is “1”. Further, since the manufacturing process ID of the product is “P001”, it can be seen from the manufacturing process table 602 that the manufacturing process name of the product is “single-sided printing”. Further, since the process ID of the manufacturing process is “O001”, the process name of the final process of the manufacturing process is “print” from the process table 603, and there is no process before the final process. It can be seen that the unit work time of the final process is “10”. Further, since the resource ID of the final process is “P001”, it can be seen from the resource table 604 that the resource name of the resource used in the final process is “Printer No. 1”.
  • the creation unit 313 uses the information acquired from the product table 601, manufacturing process table 602, process table 603, and resource table 604 for each order item ID included in the order information for the optimization process.
  • FIG. 9 shows a lane 900 corresponding to the first printing press in the Gantt chart (resource Gantt chart).
  • 901 is a line indicating the boundary of the day. In this example, 0:00 on December 12 is indicated. A line 902 indicates the operation start time of the printing machine No. 1 on that day. In this example, 8:00 on December 12 is shown. Processes are assigned after this time.
  • Reference numeral 903 denotes a process assigned to the first printing press.
  • Reference numeral 904 denotes a line indicating the operation end time of the day for the first printing press. In this example, 17:00 on December 12 is shown.
  • the plan maker wishes to determine the internal algorithm and accuracy used in the optimization process according to the accuracy setting set by the plan maker and create a plan using them.
  • Production plan can be created with accuracy and calculation time.
  • the optimization condition is acquired from the condition table.
  • an optimization condition is determined according to the value of the accuracy parameter designated by the user by using an algorithm that determines the optimization condition according to the value of the accuracy parameter.
  • the information processing apparatus 105 does not include the condition holding unit 307 and the condition determination unit 308 but includes a condition determination unit 1001.
  • the condition determination unit 1001 determines an optimization condition according to the value of the accuracy parameter designated by the user by using an algorithm that determines an optimization condition according to the value of the accuracy parameter.
  • step S103 processing according to the flowchart of FIG. 11A is performed.
  • step S401 the condition determination unit 1001 determines an optimization condition according to the value of the accuracy parameter designated by the user by using an algorithm that determines an optimization condition according to the value of the accuracy parameter. Details of the processing in step S401 will be described with reference to the flowchart of FIG. 11B.
  • step S501 the condition determining unit 1001 reads the accuracy parameter (the accuracy parameter set in the GUI 801 in FIG. 8A) from the buffer memory 311 in the same manner as in step S301.
  • the value of the accuracy parameter read from the buffer memory 311 in step S501 is represented as a.
  • step S504 the condition determining unit 1001 determines whether or not a> 0. As a result of this determination, if a> 0, the process proceeds to step S505, and if a ⁇ 0, the optimization condition is undetermined and the process proceeds to step S205. When the optimization condition has not been determined, the optimization process is not performed.
  • step S505 the condition determination unit 1001 stores the character string “GA” in the variable algo.
  • step S506 the condition determining unit 1001 obtains the value of the variable p based on the following equation.
  • the internal algorithm used in the optimization process and the parameter used in the internal algorithm can be determined according to the accuracy parameter designated by the user, and the production plan can be created. With this configuration, it is possible to determine the internal algorithm and the parameters used in the internal algorithm in a short processing time without referring to the condition table.
  • an internal algorithm is used in accordance with the magnitude relationship between the accuracy parameter value a and the threshold, with 0 being a threshold value of whether the accuracy parameter value a is 0 or greater than 0.
  • the threshold value is not limited to zero.
  • the range that the accuracy parameter value a can take is divided into a plurality of sub ranges, and when the accuracy parameter value a is included in the sub range A, the sub range An internal algorithm and accuracy corresponding to A may be adopted.
  • the condition table according to the first embodiment manages the corresponding internal algorithm and accuracy for each accuracy parameter value.
  • the configuration of the condition table is not limited to such a configuration, and further information may be managed for each accuracy parameter value.
  • the condition table manages an internal algorithm, accuracy, and one or more termination conditions for each accuracy parameter value.
  • the convergence speed represents the speed at which the objective function value of the internal algorithm converges.
  • the difference value between the objective function values of the nth iteration and the (n + 1) th iteration is set as the convergence speed. If the difference value is small, the optimization progresses, and even if it takes more time to calculate, the improvement of the objective function value is considered to be small. If the difference value is less than the preset value, the optimization process is performed. finish.
  • the condition table 1201 illustrated in FIG. 12 the number of iterations 1205 and the convergence speed 1206 are registered for each accuracy parameter 1202 in addition to the internal algorithm 1203 and the accuracy 1204.
  • the internal algorithm 1203 is a character string indicating an algorithm for creating a production plan.
  • SA is a character string indicating simulated annealing.
  • the value of the accuracy parameter designated by the user 0.1
  • the production plan is created based on “simulated annealing”.
  • the optimization processing is “2880 seconds have passed since the optimization processing started”, “the number of iterations of the optimization processing reaches 1000 times”, “the convergence speed of the optimization processing is 400 or less. ”Is executed until one of the conditions (one or more) may be satisfied.
  • the termination determination is performed using a plurality of termination conditions, so that a practical processing time can be obtained.
  • a production plan can be created with high accuracy.
  • the user is allowed to specify the value of the accuracy parameter, and the optimization process is performed based on the specified accuracy parameter value.
  • the accuracy parameter value instead of the accuracy parameter value, the upper limit process that becomes the upper limit (the waiting time until the production plan is obtained) from the start to the end of the production plan creation process
  • the time is specified and the processing is completed by the upper limit processing time. This can be used, for example, when an urgent order is received and it is desired to immediately confirm whether or not a delivery deadline will occur when the order is added.
  • the upper limit processing time for production plan creation is set to 12 hours. It is possible to output a more optimal production plan.
  • this embodiment shows an example in which the user designates an upper limit processing time and performs an optimization process using the designated upper limit processing time.
  • a GUI 1301 in FIG. 13A is displayed on the display 204 instead of the GUI 801 in FIG. 8A.
  • the indicator 1303 can be moved to an arbitrary position between the left end 1302 and the right end 1310 of the range 1331 in which the indicator 1303 can be moved by the user operating the instruction unit.
  • the user wants to make the upper limit processing time longer, that is, when the creation accuracy is more important than the processing time (upper limit is 15 hours)
  • the user brings the indicator 1303 closer to the right end 1310.
  • the user wants to shorten the upper limit processing time, that is, when the processing time is more important than the creation accuracy (lower limit is 10 seconds)
  • the user moves the indicator 1303 closer to the left end 1302.
  • the setting input unit 306 sets a value P corresponding to the position of the indicator 1303 as the upper limit processing time, and stores the upper limit processing time in the buffer memory 311. Then, the display unit 304 deletes the GUI 1301 from the display screen of the display 204 (closes the GUI 1301).
  • the setting input unit 306 sets “10” to the value P.
  • the setting input unit 306 sets the value P to “54000”.
  • the setting input unit 306 sets the value P to Set “L / D”.
  • D indicates the distance between the right end 1310 and the left end 1302.
  • a value P corresponding to the position can be obtained. Then, when the user instructs the button 1304, a value P corresponding to the position of the indicator 803 at that time is set as the upper limit processing time.
  • the display unit 304 deletes the GUI 1301 from the display screen of the information processing apparatus 105. At this time, there is no change in the upper limit processing time.
  • the upper limit processing time is set according to the position by moving the indicator 1303 left and right, but the setting method of the upper limit processing time is not limited to a specific setting method.
  • a text box may be provided in the GUI 1301, and a numerical value (any numerical value between 10 and 54000) input in the text box may be used as the upper limit processing time.
  • the upper limit processing time is an integer between 10 and 54000, but the upper limit processing time is not limited to this range.
  • a default value (for example, 0) is set in advance as the initial value of the upper limit processing time.
  • FIG. 13B shows a configuration example of the condition table according to the present embodiment.
  • an internal algorithm 1313 and a time limit 1314 corresponding to each upper limit processing time are registered.
  • the internal algorithm 1313 is a character string indicating an algorithm for creating a production plan.
  • the time limit 1314 is the upper limit execution time of the internal algorithm 1313, and its unit is second.
  • the upper limit processing time 11 (seconds) is set, the production plan creation process based on the “genetic algorithm” is performed until “9 seconds” elapse from the start of the process.
  • the specification of the upper limit processing time from the user is accepted, and the production plan is created within the specified upper limit processing time, so that the processing can be performed within the processing time desired by the user. It is possible to create a production plan with accuracy according to time. Thereby, the user can obtain a production plan with a waiting time and accuracy according to the usage scene.
  • the specification method of the accuracy parameter and the upper limit processing time is not limited to a specific specification method.
  • the user may select a candidate value from a pull-down list, or the accuracy parameter and the upper limit processing time value may be described in a file and read. .
  • the information registered in the condition table for each accuracy parameter or upper limit processing time is not limited to the above information.
  • the internal algorithm is a genetic algorithm
  • end conditions unique to the internal algorithm such as the number of gene crossovers and the number of mutations in which the gene has been changed stochastically may be registered.
  • the number of internal algorithms corresponding to the accuracy parameter and the upper limit processing time is 1, but it may be 2 or more. If the number of internal algorithms corresponding to the accuracy parameter and the upper limit processing time is two or more, the two or more internal algorithms may be switched as appropriate, used together, or used sequentially. May be.
  • condition table has the same number of parameters in any internal algorithm.
  • the number of parameters in each internal algorithm is not limited to this, and the parameters are set for each internal algorithm. You may make it change the number of.
  • the accuracy of the condition table is approximated by the calculation time.
  • the present invention is not limited to this.
  • the accuracy may be used as an end condition as it is without approximating the accuracy with the calculation time.
  • the internal algorithm is a rule-based algorithm, a genetic algorithm, or simulated annealing, but the internal algorithm is not limited to this. Any algorithm that can obtain a solution to the scheduling problem such as tabu search, greedy method, and mixed integer linear programming may be used.
  • the optimization problem has been described as a minimization problem. However, it may be solved as a maximization problem.
  • a printed material is given as an example of a product, but other products may be targeted.
  • the above apparatus may be applied to a system including a plurality of devices (for example, a host computer, an interface device, an imaging device, a web application, etc.), or may be applied to an apparatus including a single device. May be. Moreover, you may use the embodiment and modification which were demonstrated above combining some or all suitably.
  • the present invention supplies a program that realizes one or more functions of the above-described embodiments to a system or apparatus via a network or a storage medium, and one or more processors in a computer of the system or apparatus read and execute the program This process can be realized. It can also be realized by a circuit (for example, ASIC) that realizes one or more functions.
  • a circuit for example, ASIC

Landscapes

  • Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Manufacturing & Machinery (AREA)
  • Business, Economics & Management (AREA)
  • Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Marketing (AREA)
  • Quality & Reliability (AREA)
  • Health & Medical Sciences (AREA)
  • Economics (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Resources & Organizations (AREA)
  • Automation & Control Theory (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • Tourism & Hospitality (AREA)
  • General Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • General Factory Administration (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

リソースに対して作業工程を割り当てる計画の作成精度の指定を受け付ける。該受け付けた作成精度に対応するアルゴリズム及び該作成精度に対応する計画の作成の終了条件に基づいて計画の作成を行う。

Description

情報処理装置、情報処理方法
 本発明は、生産計画の作成技術に関するものである。
 印刷物を製造する印刷工場では、注文に紐付く商品をいつ生産するのかを生産計画者が決定し、生産計画を作成して印刷物を製造している。従来、生産計画の作成は、注文に紐付く商品の製造に要する作業時間を見積もり、その作業時間を製造装置や作業者の稼働時間に割り当てていた。この方法をディスパッチングと呼ぶ。ディスパッチングにより、その日にどの注文をどの装置で誰が作業するのかを決定していた。
 しかしながら、ディスパッチングでは、複数の様々な要件を同時に考慮した計画を作成することが困難であった。例えば、納期の範囲内で製造リードタイムは長くなってもよいので、日ごとの作業負荷を平準化する、あるいは、日ごとの負荷平準化と製造リードタイムをバランスさせるといった例がある。
 この課題に対して、数理最適化技術を使って様々な要件を考慮した計画を作成する試みがなされている。例えば、特許文献1では、複数の要件を考慮した数理モデルを作成し、数理最適化技術の組み合わせ最適化と探索手法によって最適解を求めることで生産計画を計算する技術が開示されている。
特開2015-090532号公報
 しかしながら、特許文献1に開示の技術では、最適解を求めることを前提としているため、注文数が大量、あるいは、計画対象期間が長期にわたる場合には、最適化で用いる変数の組み合わせが膨大になり、現実的な時間内で最適解を求めることが困難であった。
 本発明は以上の問題に鑑みてなされたものであり、業務上現実的な時間で計画の作成を可能にする技術を提供する。
 本発明の一様態は、リソースに対して作業工程を割り当てる計画の作成精度の指定を受け付ける受付手段と、前記受付手段が受け付けた作成精度に対応するアルゴリズム及び該作成精度に対応する前記計画の作成の終了条件に基づいて前記計画の作成を行う作成手段とを備えることを特徴とする。
 本発明の構成によれば、業務上現実的な時間で計画を作成することができる。
 本発明のその他の特徴及び利点は、添付図面を参照とした以下の説明により明らかになるであろう。なお、添付図面においては、同じ若しくは同様の構成には、同じ参照番号を付す。
 添付図面は明細書に含まれ、その一部を構成し、本発明の実施の形態を示し、その記述と共に本発明の原理を説明するために用いられる。
計画システムの構成例を示すブロック図。 情報処理装置105のハードウェア構成例を示すブロック図。 計画システムの各装置における機能構成例を示すブロック図。 商品の発注から配送までの全体処理のフローチャート。 ステップS103における処理の詳細フローチャート。 GUI501の構成例を示す図。 製造情報の構成例を示す図。 製造プロセステーブルの構成例を示す図。 工程テーブルの構成例を示す図。 リソースの構成例を示す図。 注文情報の構成例を示す図。 ステップS204における処理の詳細を示すフローチャート。 GUI801の構成例を示す図。 条件テーブルの構成例を示す図。 ガントチャートの構成例を示す図。 計画システムの各装置における機能構成例を示すブロック図。 ステップS103の詳細を示すフローチャート。 ステップS401の詳細を示すフローチャート。 条件テーブルの構成例を示す図。 GUI1301の構成例を示す図。 条件テーブルの構成例を示す図。
 以下、添付図面を参照し、本発明の実施形態について説明する。なお、以下説明する実施形態は、本発明を具体的に実施した場合の一例を示すもので、特許請求の範囲に記載した構成の具体的な実施例の1つである。
 [第1の実施形態]
 本実施形態では、発注者からの商品(印刷物)の注文を受けた印刷会社が行う商品の生産計画の作成を例にとり、発注者側の端末及び印刷会社側の装置を含めた計画システムについて説明する。ここで、商品の生産計画とは、商品の製造を印刷会社が有するリソース(印刷会社の人員や印刷会社が使用可能な機器)を用いて行う場合に、どのリソースにどの作業工程を割り当てるのかを計画する処理である。
 先ず、本実施形態に係る計画システムの構成例について、図1のブロック図を用いて説明する。図1に示す如く本実施形態に係る計画システムは、商品の発注者側の環境である発注者環境101(会社、家など)に設けられている端末装置である発注者端末102と、商品の受注側である印刷会社103における装置群(104~109)と、を有する。そして発注者端末102と、印刷会社103における装置群(104~109)と、はインターネット110を介して互いにデータ通信が可能なように構成されている。また、印刷会社103における装置群(104~109)のそれぞれの間についても、LAN等のネットワークを介して互いにデータ通信が可能なように構成されている。
 発注者端末102は、商品の発注者が操作する端末装置であり、発注者はこの発注者端末102を操作することで商品の注文内容を作成する。そして発注者端末102は、該作成した注文内容をインターネット110を介して印刷会社103に対して送信することで、該印刷会社103に対して商品の発注を行う。
 印刷会社103は、発注者端末102からの注文に応じた商品を作成し、該作成した商品の配送を行う。印刷会社103には、受注サーバ104、情報処理装置105、印刷装置106、加工装置107、検品装置108、配送装置109が設けられている。
 受注サーバ104は、発注者端末102からインターネット110を介して送信された注文内容を受信することで、発注者からの商品の注文を受注する。
 情報処理装置105は、発注者端末102からの受注に応じた商品の作成に係る生産計画を作成するための計画サーバとして機能するものである。
 印刷装置106は、印刷会社103の装置が保持している様々な商品の印刷データ(商品を印刷するための印刷データ)のうち受注した商品の印刷データに基づいて紙などの印刷媒体に文字や画像を形成する印刷処理を行うことで商品としての印刷物を生成する。
 加工装置107は、印刷装置106が生成した印刷物に対して製本加工処理を行う。検品装置108は、加工装置107によって製本加工処理がなされた印刷物に対し、注文通りの印刷物が製造されたのかを検査する検品処理を行う。配送装置109は、検品装置108による検品処理済みの印刷物を、注文内容に含まれている配送先に配送するための手続等の印刷物の配送に係る処理を行う。
 なお、印刷会社103が有する上記の装置群は一例であり、例えば、図1に示した印刷会社103が有する幾つかの装置を1つの装置に纏めても良いし、図1に示した印刷会社103が有する装置に新たな装置を追加しても良い。
 次に、図1に示した各装置における機能構成例について、図3のブロック図を用いて説明する。先ず、発注者端末102について説明する。発注部301は、発注者による発注者端末102の操作に応じて入力された商品の注文内容をインターネット110を介して受注サーバ104に対して送信する。次に、受注サーバ104について説明する。受注部302は、発注者端末102から送信された注文内容を受信し、該受信した注文内容から後述の注文情報を作成して保持部303に格納する。
 次に、情報処理装置105について説明する。表示部304は、GUI(グラフィカルユーザインターフェース)等の設定画面を含む様々な画面の表示に係る処理を行う。入力部305は、情報処理装置105のユーザからの様々な入力を受け付ける(受付)。設定入力部306は、情報処理装置105のユーザから「生産計画に要求される作成精度に関する設定(精度パラメータ)」を受け付ける。条件保持部307はメモリとして機能し、様々な精度パラメータについて、生産計画を作成する処理(最適化処理)を行うときの条件(最適化条件)が登録されているテーブル(条件テーブル)を保持(管理)している。条件決定部308は、条件テーブルから、設定入力部306が受け付けた精度パラメータに対応する最適化条件を決定する。保持部309はメモリとして機能し、最適化処理で用いられる各種のパラメータ(最適化パラメータ)を保持している。最適化パラメータには、最適化処理に適用されるアルゴリズムに固有の設定値や最適化の評価指標に対する重みなどが含まれている。バッファメモリ311は、情報処理装置105が様々な処理を行うために用いるメモリである。製造情報保持部312はメモリとして機能し、図6A~6Dに示す情報群(601~604)を製造情報として保持している。製造情報の詳細については後述する。作成部313は、注文情報、製造情報、最適化条件に基づき、商品の生産計画を作成する。
 次に、印刷装置106について説明する。印刷部320は、印刷データに基づく印刷を印刷装置106に指示する。次に、加工装置107について説明する。加工部321は、印刷装置106により生成された印刷物の製本加工処理を加工装置107に指示する。次に、検品装置108について説明する。検品部322は、製本加工処理済みの印刷物の検品処理を検品装置108に指示する。次に、配送装置109について説明する。配送部323は、検品装置108による検品処理済みの印刷物の配送に係る様々な処理を配送装置109に指示する。
 次に、情報処理装置105のハードウェア構成例について、図2のブロック図を用いて説明する。CPU201は、ROM202やRAM203に格納されているコンピュータプログラムやデータを用いて処理を実行する。これによりCPU201は、情報処理装置105全体の動作制御を行うと共に、情報処理装置105が行うものとして後述する各処理を実行若しくは制御する。ROM202には、書換不要の様々なコンピュータプログラムやデータが格納されている。
 RAM203は、記憶装置206からロードされたコンピュータプログラムやデータ、ネットワークI/F207を介して外部から受信したデータ、を格納するためのエリアを有する。更にRAM203は、CPU201が各種の処理を実行する際に用いるワークエリアを有する。このようにRAM203は、各種のエリアを適宜提供することができる。
 ディスプレイ204は、CRTや液晶画面などにより構成されており、CPU201による処理結果を画像や文字などでもって表示することができる。なお、ディスプレイ204の代わりに画像や文字を投影するプロジェクタを用いてもよい。また、ディスプレイ204はタッチパネル画面であっても良い。
 キーボード205、ポインティングデバイス208は、情報処理装置105のユーザが操作することで各種の指示をCPU201に対して入力することができるユーザインターフェースである。ポインティングデバイス208には、マウスやトラックボール等が含まれる。なお、情報処理装置105が、例えばスマートフォンやタブレット端末装置である場合には、キーボード205は省いても良い。
 記憶装置206は、ハードディスクドライブ装置に代表される大容量情報記憶装置である。記憶装置206には、OS(オペレーティングシステム)や、情報処理装置105が行うものとして後述する各処理をCPU201に実行させるためのコンピュータプログラムやデータが保存されている。記憶装置206に保存されているコンピュータプログラムには、図3や図10に示した情報処理装置105の各機能部(メモリとして機能する機能部は除く)の機能をCPU201に実現させるためのコンピュータプログラムが含まれている。また、記憶装置206に保存されているデータには、本実施形態を含む以降の各実施形態や変形例において既知の情報として説明するものが含まれている。記憶装置206に保存されているコンピュータプログラムやデータは、CPU201による制御に従って適宜RAM203にロードされ、CPU201による処理対象となる。なお、図3や図10においてメモリとして機能する機能部は、RAM203や記憶装置206で構成する。
 ネットワークI/F207は、情報処理装置105と印刷会社103内の各装置との間のデータ通信におけるインターフェースとして機能するものである。情報処理装置105は、ネットワークI/F207を介して印刷会社103内の各装置との間のデータ通信を行う。
 CPU201、ROM202、RAM203、ディスプレイ204、キーボード205、記憶装置206、ネットワークI/F207、ポインティングデバイス208は何れも、バス209に接続されている。
 なお、以下の説明では、図3に示した情報処理装置105の機能部を処理の主体として説明するが、実際には、該機能部に対応するコンピュータプログラムをCPU201が実行することで、該機能部の機能を実現させている。
 次に、本実施形態に係る計画システムにおいて行われる、商品の発注から配送までの全体処理について、図4Aのフローチャートに従って説明する。ステップS101では、発注者は発注者端末102を操作することで商品の注文内容を作成する。そして発注者端末102は、該作成した注文内容をインターネット110を介して印刷会社103に対して送信する。
 例えば、発注者端末102は印刷会社103が提供する商品のサイトにアクセスして、印刷会社103が提供する様々な商品の一覧を、該発注者端末102の表示画面に表示する。ユーザは、発注者端末102が有する操作部を操作して、この一覧から1つ以上の商品を指定すると共に、指定した各商品について、注文する部数や納期、商品の配送先の住所などを指定する。そしてユーザが上記操作部を操作して発注指示を入力すると、発注者端末102(発注部301)は、ユーザによる注文内容をインターネット110を介して印刷会社103に対して送信する。
 ステップS102では、受注サーバ104の受注部302は、ステップS101で発注部301によって送信された注文内容を受信し、該受信した注文内容から後述する注文情報を生成し、該生成した注文情報を受注サーバ104の保持部303に登録する。
 ステップS103では、情報処理装置105は、発注者端末102から受注した注文に対応する商品を製造するための生産計画を作成する。ステップS103における処理の詳細については後述する。
 ステップS104で印刷装置106は、印刷会社103の装置が保持している様々な商品の印刷データのうち、受注した商品の印刷データに基づいて紙などの印刷媒体に文字や画像を形成する印刷処理を行うことで商品としての印刷物を生成する。そして加工装置107は、印刷装置106による印刷により生成された印刷物に対して製本加工処理を行う。
 ステップS105では、検品装置108は、ステップS104において加工装置107によって製本加工処理がなされた印刷物に対し、注文通りの印刷物が製造されたのかを検査する検品処理を行う。
 ステップS106では、配送装置109は、ステップS105において検品装置108による検品処理済みの印刷物を上記の配送先に配送するための手続等の印刷物の配送に係る処理を行う。
 次に、上記のステップS103における処理の詳細について、図4Bのフローチャートに従って説明する。ステップS201では、表示部304はディスプレイ204に、図5に例示するGUI(計画作成画面)501を表示する。
 ボタン502は、注文情報の読み込みを指示するためのボタンである。ユーザがキーボード205やポインティングデバイス208を操作してボタン502を指示すると、表示部304は、受注サーバ104の保持部303に登録されている注文情報を読み出し、該注文情報を注文リスト507としてGUI501上に表示する。以下では、キーボード205及びポインティングデバイス208を纏めて指示部と称する。
 注文リスト507には、注文アイテムID508、商品名509、ページ数510、部数511と、生産計画を作成することで確定する振り分け先デバイス512と、が含まれている。注文アイテムID508は、商品ごとに固有のIDである。商品名509は、商品の名称である。ページ数510は、商品のページ数である。部数511は、商品の部数である。振り分け先デバイス512は、商品を製造する装置を表す。なお、注文リスト507が含む項目はこれらに限らない。
 ボタン503は、商品の生産計画に要求する作成精度を設定するための設定用GUIを起動するためのボタンである。ユーザが指示部を操作してボタン503を指示すると、表示部304はディスプレイ204に図8Aに例示するGUI801を表示する。図8Aに例示するGUI801については後述する。
 ボタン504は、生産計画の作成開始を指示するためのボタンである。ユーザが指示部を操作してボタン504を指示すると、作成部313による生産計画の作成処理が開始される。
 ボタン505は、生産計画の作成処理によって作成されたガントチャートの表示を指示するためのボタンである。ユーザが指示部を操作してボタン505を指示すると、表示部304はディスプレイ204に、図9に例示するガントチャートを表示する。図9に例示するガントチャートについては後述する。
 ボタン506は、GUI501を閉じるために指示するボタンである。ユーザが指示部を操作してボタン506を指示すると、表示部304はディスプレイ204の表示画面からGUI501を消去する(GUI501を閉じる)。
 ステップS202の処理は、ユーザが指示部を操作してボタン502を指示した場合に行われる処理である。ユーザが指示部を操作してボタン502を指示すると、入力部305は、保持部303に保持されている注文情報をバッファメモリ311に読み出すと共に、製造情報保持部312に格納されている製造情報をバッファメモリ311に読み出す。
 ステップS203の処理は、ユーザが指示部を操作してGUI501におけるボタン503を指示したことに応じてディスプレイ204に表示される図8AのGUI801についての処理である。
 GUI801においてインジケータ803は、ユーザが指示部を操作して、該インジケータ803が移動可能な範囲831の左端802から右端810までの間の任意の位置に移動させることができる。ユーザは、作成速度よりも作成精度を重視(優先)して生産計画を行いたい場合(作成精度の重要度を上げたい場合)には、インジケータ803をより右端810に近づける。一方、ユーザは、作成精度よりも作成速度を重視して生産計画を行いたい場合(作成精度の重要度を下げたい場合)には、インジケータ803をより左端802に近づける。
 ユーザが指示部を操作してボタン804を指示すると、設定入力部306は、インジケータ803の位置に応じた値Pを精度パラメータの値として設定し、該精度パラメータをバッファメモリ311に格納する。そして表示部304はGUI801をディスプレイ204の表示画面から消去する(GUI801を閉じる)。
 ユーザが指示部を操作してボタン804を指示した時点におけるインジケータ803の位置が範囲831の左端802である場合、設定入力部306は値Pに「0」を設定する。また、ユーザが指示部を操作してボタン804を指示した時点におけるインジケータ803の位置が範囲831の右端810である場合、設定入力部306は値Pに「1」を設定する。また、ユーザが指示部を操作してボタン804を指示した時点におけるインジケータ803の位置が、左端802の位置から右端810側に距離Lだけ離間した位置である場合、設定入力部306は値Pに「L/D」を設定する。ここで、Dは右端810と左端802との間の距離を示す。
 このように、インジケータ803を左右に移動させることで、その位置に応じた値Pが得られる。そしてユーザがボタン804を指示することで、そのときのインジケータ803の位置に対応する値Pが精度パラメータの値として設定される。
 一方、ユーザが指示部を操作してボタン805を指示すると、表示部304はGUI801を情報処理装置105の表示画面から消去する。このとき、精度パラメータの値に変更はない。
 つまり、精度パラメータの値が大きいほど、より高い精度で生産計画の作成を指示することになり、精度パラメータの値が小さいほど、精度よりも作成速度を重視して生産計画の作成を指示することになる。
 なお、図8AのGUI801では、インジケータ803を左右に移動させることでその位置に応じた精度パラメータを設定するようにしているが、精度パラメータの設定方法は特定の設定方法に限らない。例えば、GUI801にテキストボックスを設け、該テキストボックスに入力した数値(0~1の間の任意の数値)を精度パラメータの値としても良い。また、本実施形態では、精度パラメータの値は0~1の間の実数とするとが、精度パラメータの値はこの範囲に限るものではない。なお、精度パラメータの初期値としては予めデフォルトの値(例えば0)が設定されているものとする。
 以降のステップS204及びステップS205における処理は、ユーザが指示部を操作してGUI501のボタン504を指示したことに応じて行われる処理である。なお、ステップS204の処理については、ユーザが指示部を操作してGUI501のボタン504を指示せずとも実行し、ステップS205の処理を、ユーザが指示部を操作してGUI501のボタン504を指示したことに応じて行うようにしても良い。
 ステップS204では、条件決定部308は、条件保持部307に格納されている条件テーブルをバッファメモリ311に読み出し、該条件テーブルから、精度パラメータの値に対応する最適化条件を決定する。ステップS204における処理の詳細について、図7のフローチャートに従って説明する。
 ステップS301では、条件決定部308は、バッファメモリ311から精度パラメータ(図8AのGUI801にて設定した精度パラメータ)を読み出す。以下では、ステップS301でバッファメモリ311から読み出した精度パラメータの値をaと表す。
 ステップS302では、条件決定部308は、条件保持部307に格納されている条件テーブルをバッファメモリ311に読み出す。条件テーブルの構成例を図8Bに示す。図8Bの条件テーブル811には、精度パラメータ812のそれぞれの値に対応する内部アルゴリズム813及び精度814が登録されている。
 内部アルゴリズム813とは、生産計画を作成するためのアルゴリズムを示す文字列である。図8Bの例では、精度パラメータ812の値=0.0の場合、対応する内部アルゴリズム813として、ルールベースディスパッチングのアルゴリズムを示す文字列「RuleBase」が登録されている。そのため、精度パラメータの値=0.0であれば、生産計画は「ルールベースディスパッチングのアルゴリズム」に基づいて作成される。また、図8Bの例では、精度パラメータ812の値=0.1の場合、対応する内部アルゴリズム813として遺伝的アルゴリズムを示す文字列「GA」が登録されている。そのため、精度パラメータの値=0.1であれば、生産計画は「遺伝的アルゴリズム」に基づいて作成される。
 精度814とは、生産計画を作成する際に要求される作成精度である。図8Bの例では、精度パラメータ812の値=0.1の場合、対応する精度814として「10.0」(%)が登録されており、精度パラメータ812の値=1.0の場合、対応する精度814として「1.0」(%)が登録されている。
 ステップS303では、条件決定部308は、以下で用いる変数iの値を0に初期化する。そしてステップS304では、条件決定部308は、i<n(nは条件テーブルの行数)を満たすか否かを判断する。この判断の結果、i<nを満たさない場合(条件テーブルに登録されている全ての精度パラメータについてステップS305以降の処理を行った場合)には、処理はステップS205に進む。一方、i<nを満たす場合(条件テーブルに登録されている一部若しくは全部の精度パラメータについて未だステップS305以降の処理を行っていない)場合には、処理はステップS305に進む。
 ステップS305では、条件決定部308は、条件テーブルのi行目における精度パラメータの値ai(0行目の精度パラメータの値は0.0)=aであるか否かを判断する。この判断の結果、ai=aであれば、処理はステップS306に進み、ai≠aであれば、処理はステップS308に進む。
 ステップS306では、条件決定部308は、条件テーブルにおけるi行目に登録されている内部アルゴリズム813(精度パラメータの値=aに対応する内部アルゴリズム813)algoiを変数algoに格納する。変数algoはバッファメモリ311に格納されている。
 ステップS307では、条件決定部308は、条件テーブルにおけるi行目に登録されている精度814(精度パラメータの値=aに対応する精度814)piを変数pに格納する。変数pはバッファメモリ311に格納されている。
 ステップS308では、条件決定部308は、ai<a<a(i+1)(a(i+1)は、条件テーブルの(i+1)行目における精度パラメータの値)が満たされているか否かを判断する。この判断の結果、ai<a<a(i+1)が満たされている場合には、処理はステップS309に進み、ai<a<a(i+1)が満たされていない場合には、処理はステップS311に進む。ステップS311では、条件決定部308は、変数iの値を1つインクリメントし、処理はステップS304に戻る。
 一方、ステップS309では、条件決定部308は、条件テーブルにおけるi行目に登録されている内部アルゴリズム813(精度パラメータの値=aに対応する内部アルゴリズム813)algoiを変数algoに格納する。変数algoはバッファメモリ311に格納されている。ステップS310では、条件決定部308は、変数pの値を、以下の式に基づいて求める。変数pはバッファメモリ311に格納されている。
 p=(n×pi+m×p(i+1))/(m+n)
 m=a-ai
 n=a(i+1)-a
 ステップS205では、作成部313は先ず、ステップS204で取得した精度(変数pの値)を用いて、生産計画の作成処理の終了条件としての処理時間Tを求める。生産計画の作成処理(最適化処理)の精度は、該最適化処理の反復回数が多いほどより高くなる。つまり、最適化処理の処理時間が長ければ長いほど、最適化処理の精度は高くなる。そこで本実施形態では、最適化処理の精度を処理時間Tで近似し、最適化処理の終了条件として使用する。処理時間Tは、例えば、式「3600×(1-p/100)(秒)」に従って求める。
 なお、条件テーブルに、piの代わりに対応する処理時間T「3600×(1-pi/100)(秒)」を登録するようにしても良い。つまり、条件テーブルには、生産計画の作成処理の終了条件を直接的に若しくは間接的に特定するための情報が登録されていれば良い。
 なお、精度の指定が不要なアルゴリズムの場合には、処理時間Tには充分に大きい値を設定する。図8Bの場合、内部アルゴリズム813「RuleBase」については、精度の指定は不要のため、対応する精度814として「-」が登録されている。然るに、内部アルゴリズム813として「RuleBase」が指定された場合には、処理時間Tには、充分に大きい値を設定する。
 そして作成部313は、ステップS204で取得した内部アルゴリズム813で特定されるアルゴリズムに従って、ステップS202で取得した注文情報及び製造情報を用いて最適化処理を行う。ステップS204で取得した内部アルゴリズム813で特定されるアルゴリズムに従って最適化処理を行う際には、該アルゴリズムに対応する最適化パラメータを保持部309から取得して使用する。最適化処理では、注文情報に対応する商品を製造するべくリソースの稼働時間に工程を割り当てる処理を行う。注文情報及び製造情報を用いて生産計画を作成する処理については周知であるため、これに係る説明は省略する。そして、作成部313は、最適化処理の開始から処理時間Tが経過すると、この時点における生産計画を出力する。出力先は特定の出力先に限らない。例えば、各注文アイテムID508に対応する振り分け先デバイス512として、上記の生産計画によって該注文アイテムID508に対応する商品の製造に割り当てられた装置の情報(装置の名称など)を表示する。
 作成部313によって作成される生産計画について説明する。作成精度の優先度を高く設定すると、生産計画を作成するアルゴリズムの評価指標の達成度が高くなる。したがって、例えば、評価指標にリードタイムが含まれるときには、リードタイムが短い生産計画が出力される。作成精度の優先度を少し低く設定すると、リードタイムが少し長い生産計画が出力される。作成精度の優先度を最も低く設定すると、リードタイムがより長い生産計画が出力される。
 しかし、優先度を最も低く設定し、作成速度の優先度を高くすることで、短い時間で生産計画を出力することができても、注文の納期を超えないようにすることが望まれる。そこで、作成精度が低く設定されたときでも、納期を超えないようにするために、リードタイムを評価する項の係数を大きくすることで、少ない反復回数でもリードタイムを評価する項の収束を早められる。こうすることにより、注文の納期割れを防止することができる。
 また、日ごとの平準化についても、例えば、向こう1週間は作業員が5人なので、各日5人分の負荷しか許容できないときに、日ごとの平準化を評価する項の係数を大きくすることで、一日の負荷の許容値を超えないようにすることができる。
 ここで、製造情報の構成例及び注文情報の構成例について、図6A~6Eを用いて説明する。図6A~Dに示したテーブル群が製造情報である。先ず、製造情報に含まれる商品テーブルの構成例について、図6Aを用いて説明する。図6Aに示す如く、商品テーブル601は、商品IDごとに商品名、製造プロセスID、価格、が登録されているテーブルである。
 商品IDは各商品に固有の識別情報である。商品名は、各商品の名称である。製造プロセスIDは、各商品の製造プロセスに固有の識別情報である。価格は、各商品の1部あたりの価格であり、本実施形態では単位は「円」とする。しかし、価格の単位は本システムを使用する国や使用者などの状況に応じて適切な通貨単位を選択すればよい。図6Aの場合、商品ID=S001に対応する商品の商品名は「チラシ」であり、該商品の製造プロセスに固有の識別情報(製造プロセスID)は「P001」であり、該商品の1部あたりの価格は「1」である。
 次に、製造情報に含まれている製造プロセステーブルの構成例について、図6Bを用いて説明する。図6Bに示す如く、製造プロセステーブル602は、商品テーブル601に登録されているそれぞれの製造プロセスIDに対応する製造プロセス名及び工程IDが登録されているテーブルである。製造プロセス名は、製造プロセスの名称である。工程IDは、製造プロセスの最終工程に固有の識別情報である。図6Bの場合、製造プロセスID=P001に対応する製造プロセスの名称(製造プロセス名)は「片面印刷」であり、該製造プロセスの最終工程に固有の識別情報(工程ID)は「O001」である。
 次に、製造情報に含まれている工程テーブルの構成例について、図6Cを用いて説明する。図6Cに示す如く、工程テーブル603は、製造プロセステーブルに登録されているそれぞれの工程IDに対応する工程名、リソースID、前工程ID、単位作業時間が登録されているテーブルである。工程名は工程の名称である。リソースIDは、工程で使用するリソースに固有の識別情報である。前工程IDは、前の工程に固有の識別情報である。単位作業時間は、工程における1回あたりの作業時間である。単位作業時間の単位は「秒」とするが、これに限らない。図6Cの場合、工程ID=O001に対応する工程の名称(工程名)は「印刷」であり、該工程で使用するリソースに固有の識別情報(リソースID)は「P001」である。また、工程ID=O001に対応する工程の前の工程は存在しないため(つまり工程ID=O001に対応する工程が製造工程における最初の工程であるため)、前工程IDとしては何も登録されていない。また、工程ID=O001に対応する工程における1回あたりの作業時間(単位作業時間)は「10」である。
 次に、製造情報に含まれているリソーステーブルの構成例について、図6Dを用いて説明する。図6Dに示す如く、リソーステーブル604は、工程テーブルに登録されているそれぞれのリソースIDに対応するリソース名が登録されているテーブルである。リソース名は、リソースの名称である。図6Dの場合、リソースID=R001に対応するリソースの名称(リソース名)は「印刷機1号機」である。
 次に、注文情報について、図6Eを用いて説明する。図6Eに示す如く、注文情報605は、発注者端末102から受信した注文内容がテーブル形式で登録された情報であり、受注した商品の注文アイテムIDごとに、商品ID、注文数量、受注日時、製造期限、優先度、ページ数が登録されたテーブルである。
 注文アイテムIDは、商品ごとに固有のIDであり、上記の注文リスト507に注文アイテムID508として表示されるものである。発注者端末102から印刷会社103に対して送信される注文内容には、注文する商品の注文アイテムIDが含まれているので、印刷会社103側では、注文内容に含まれている注文アイテムIDから、受注した商品を特定することができる。
 商品IDは各商品に固有の識別情報である。注文数量は、注文した商品の部数である。受注日時は、商品を受注した日時(例えば、受注サーバ104が対応する商品の注文内容を受信した日時)である。製造期限は、受注した商品の製造を完了させなければいけない期限日時である。優先度は、商品を製造する優先度であって、ここでは一例として1から100の範囲で表し、100を優先度高、1を優先度低とする。ページ数は、受注した商品を構成するページ数である。
 図6Eの場合、注文アイテムID=O001に対応する商品の商品IDはS001であるから、図6Aの商品テーブル601から、この商品の商品名は「チラシ」であり、該商品の1部あたりの価格は「1」であることが分かる。また、該商品の製造プロセスIDは「P001」であるから、製造プロセステーブル602より、該商品の製造プロセス名は「片面印刷」であることが分かる。また、該製造プロセスの工程IDは「O001」であるから、工程テーブル603より、該製造プロセスの最終工程の工程名は「印刷」であり、該最終工程の前の工程は存在せず、該最終工程の単位作業時間は「10」であることが分かる。また、該最終工程のリソースIDは「P001」であるから、リソーステーブル604より、該最終工程で使用するリソースのリソース名は「印刷機1号機」であることが分かる。
 このようにして、上記の商品テーブル601、製造プロセステーブル602、工程テーブル603、リソーステーブル604から、注文情報に含まれているそれぞれの注文アイテムIDから対応する情報を取得することができる。然るに作成部313は、注文情報に含まれているそれぞれの注文アイテムIDについて上記の商品テーブル601、製造プロセステーブル602、工程テーブル603、リソーステーブル604から取得した情報を最適化処理に用いる。
 次に、上記のガントチャートの構成例について、図9を用いて説明する。図9には、ガントチャート(資源ガントチャート)における印刷機1号機に対応するレーン900を示している。
 901は、一日の境界を示す線である。この例では、12月12日0:00を示す。902は、印刷機1号機のその日の稼働開始時刻を示す線である。この例では、12月12日8:00を示す。この時刻以降に工程が割り付けられる。903は、印刷機1号機に割り付けられた工程を表す。904は、印刷機1号機のその日の稼働終了時刻を示す線である。この例では、12月12日17:00を示す。
 このように、本実施形態によれば、計画作成者が設定した精度設定に従い、最適化処理で用いる内部アルゴリズムと精度を決定し、それらを使って計画を作成することで、計画作成者が希望する精度および計算時間で生産計画を作成することができる。
 [第2の実施形態]
 第1の実施形態では、最適化条件を条件テーブルから取得した。本実施形態では、条件テーブルの代わりに、精度パラメータの値に応じて最適化条件を決定するアルゴリズムを使用することで、ユーザが指定した精度パラメータの値に応じた最適化条件を決定する。本実施形態を含めて、以下の各実施形態及び変形例では、第1の実施形態との差分について重点的に説明し、以下で特に触れない限りは、第1の実施形態と同様であるものとする。
 図1に示した各装置における機能構成例について、図10のブロック図を用いて説明する。図10に示す如く、情報処理装置105以外の装置については第1の実施形態と同様である。本実施形態に係る情報処理装置105は、条件保持部307及び条件決定部308は有さずに、条件決定部1001を有する。条件決定部1001は、精度パラメータの値に応じて最適化条件を決定するアルゴリズムを使用することで、ユーザが指定した精度パラメータの値に応じた最適化条件を決定する。
 本実施形態では、上記のステップS103においては、図11Aのフローチャートに従った処理を行う。ステップS401では、条件決定部1001は、精度パラメータの値に応じて最適化条件を決定するアルゴリズムを使用することで、ユーザが指定した精度パラメータの値に応じた最適化条件を決定する。ステップS401における処理の詳細について、図11Bのフローチャートに従って説明する。
 ステップS501では、条件決定部1001は、上記のステップS301と同様にして、バッファメモリ311から精度パラメータ(図8AのGUI801にて設定した精度パラメータ)を読み出す。以下では、ステップS501でバッファメモリ311から読み出した精度パラメータの値をaと表す。
 ステップS502では、条件決定部1001は、精度パラメータの値a=0であるか否かを判断する。この判断の結果、a=0であれば、処理はステップS503に進み、a≠0であれば、処理はステップS504に進む。ステップS503では、条件決定部1001は、変数algoに文字列「RuleBase」を格納する。
 一方、ステップS504では、条件決定部1001は、a>0であるか否かを判断する。この判断の結果、a>0であれば、処理はステップS505に進み、a<0であれば、最適化条件は未決定として処理はステップS205に進む。最適化条件が未決定の場合、最適化処理は行われない。
 ステップS505では、条件決定部1001は、変数algoに文字列「GA」を格納する。ステップS506では、条件決定部1001は、変数pの値を、以下の式に基づいて求める。
 p=n×10.0+m×1.0
 m=a
 n=1.0-a
 このように、本実施形態によれば、ユーザによって指定された精度パラメータに従い、最適化処理で使用する内部アルゴリズムおよび内部アルゴリズムで使用するパラメータを決定し、生産計画を作成することができる。このような構成にしたことで、条件テーブルを参照することなく短い処理時間で内部アルゴリズムおよび内部アルゴリズムで使用するパラメータを決定することができる。
 なお、本実施形態では、精度パラメータの値aが0であるか否か、0よりも大きいか否か、という0を閾値として、精度パラメータの値aと閾値との大小関係に応じて内部アルゴリズム及び精度を決定していたが、閾値は0に限らない。また、閾値として複数の閾値を設けることで、精度パラメータの値aが取り得る範囲を複数のサブ範囲に分割し、精度パラメータの値aがサブ範囲Aに含まれている場合には、サブ範囲Aに対応する内部アルゴリズム及び精度を採用するようにしても良い。
 [第3の実施形態]
 第1の実施形態に係る条件テーブルは、精度パラメータの値ごとに、対応する内部アルゴリズム及び精度を管理するものであった。しかし、条件テーブルの構成はこのような構成に限らず、精度パラメータの値ごとに、更なる情報を管理するようにしても良い。本実施形態では、条件テーブルが精度パラメータの値ごとに、内部アルゴリズム、精度、1つ以上の終了条件を管理するケースについて説明する。終了条件として、精度に応じた終了条件だけではなく、他の終了条件を追加することで、実用上支障のない精度の生産計画を作成できる場合がある。本実施形態では、そのような例として終了条件に、反復回数と収束速度を追加した例を示す。なお、反復回数とは、最適化処理の1反復を何回反復するかを表す値である。また、収束速度とは、内部アルゴリズムの目的関数値が収束する速度を表す。本実施形態では、n回目の反復と(n+1)回目の反復の目的関数値の差分値を収束速度とする。この差分値が小さいということは、最適化が進み、これ以上計算に時間をかけたとしても目的関数値の改善が少ないと捉え、差分値が予め設定された値以下となったら最適化処理を終了する。
 本実施形態に係る条件テーブルの構成例について、図12を用いて説明する。図12に例示する条件テーブル1201には、精度パラメータ1202ごとに、内部アルゴリズム1203及び精度1204に加え、反復回数1205及び収束速度1206が登録されている。内部アルゴリズム1203は内部アルゴリズム813と同様、生産計画を作成するためのアルゴリズムを示す文字列である。「SA」は、シミュレーテッドアニーリングを示す文字列である。また、精度1204は精度814と同様、生産計画を作成する際に要求される作成精度である。例えば、ユーザが指定した精度パラメータの値=0.1であるとする。このとき、対応する精度1204は「20.0」であるから処理時間Tは上記の式より、3600×(1-20.0/100)=2880(秒)となる。然るに、ユーザが指定した精度パラメータの値=0.1であれば、生産計画は「シミュレーテッドアニーリング」に基づいて作成される。このとき最適化処理は、「該最適化処理が開始されてから2880秒が経過する」、「最適化処理の反復回数が1000回に達する」、「最適化処理の収束速度が400以下となる」の何れか(1つでも良いし複数でも良い)の条件が満たされるまで実行される。
 このように、本実施形態によれば、ユーザによって指定された精度に対応する内部アルゴリズムで最適化処理を行う際に、複数の終了条件を用いて終了判定を行うことで、実用的な処理時間と精度で生産計画を作成することができる。
 [第4の実施形態]
 上記の実施形態では、ユーザに精度パラメータの値を指定させて、該指定させた精度パラメータの値に基づいて最適化処理を行った。これに対し、本実施形態では、ユーザに精度パラメータの値の代わりに、生産計画の作成処理を開始してから終了するまでの時間の上限(生産計画を得るまでの待ち時間)となる上限処理時間を指定させ、該上限処理時間までに処理を終えるようにする方法も考えられる。これは、例えば、急ぎの注文を受注するときに、その注文を加えたときに、納期割れを起こさないかをすぐに確認したい場合に活用できる。あるいは、翌日の稼働日の生産計画作成を前日の定時前にセットするので、生産計画作成に12時間程度かけられるというような印刷会社においては、生産計画作成の上限処理時間を12時間に設定し、より最適な生産計画を出力することができる。上記のような利用シーンに対応するため、本実施形態ではユーザに上限処理時間を指定させ、指定された上限処理時間を用いて最適化処理を行う例を示す。
 本実施形態では、ステップS203では、図8AのGUI801の代わりに、図13AのGUI1301をディスプレイ204に表示させる。GUI1301においてインジケータ1303は、ユーザが指示部を操作して、該インジケータ1303が移動可能な範囲1331の左端1302から右端1310までの間の任意の位置に移動させることができる。ユーザは、上限処理時間をより長くしたい場合、つまり処理時間よりも作成精度を重視したい場合には(上限は15時間)、インジケータ1303をより右端1310に近づける。一方、ユーザは、上限処理時間をより短くしたい場合、つまり作成精度よりも処理時間を重視したい場合には(下限は10秒)、インジケータ1303をより左端1302に近づける。
 ユーザが指示部を操作してボタン1304を指示すると、設定入力部306は、インジケータ1303の位置に応じた値Pを上限処理時間として設定し、該上限処理時間をバッファメモリ311に格納する。そして表示部304はGUI1301をディスプレイ204の表示画面から消去する(GUI1301を閉じる)。
 ユーザが指示部を操作してボタン1304を指示した時点におけるインジケータ1303の位置が範囲1331の左端1302である場合、設定入力部306は値Pに「10」を設定する。また、ユーザが指示部を操作してボタン1304を指示した時点におけるインジケータ1303の位置が範囲1331の右端1310である場合、設定入力部306は値Pに「54000」を設定する。また、ユーザが指示部を操作してボタン1304を指示した時点におけるインジケータ1303の位置が、左端1302の位置から右端1310側に距離Lだけ離間した位置である場合、設定入力部306は値Pに「L/D」を設定する。ここで、Dは右端1310と左端1302との間の距離を示す。
 このように、インジケータ1303を左右に移動させることで、その位置に応じた値Pが得られる。そしてユーザがボタン1304を指示することで、そのときのインジケータ803の位置に対応する値Pが上限処理時間として設定される。
 一方、ユーザが指示部を操作してボタン1305を指示すると、表示部304はGUI1301を情報処理装置105の表示画面から消去する。このとき、上限処理時間に変更はない。
 なお、図13AのGUI1301では、インジケータ1303を左右に移動させることでその位置に応じた上限処理時間を設定するようにしているが、上限処理時間の設定方法は特定の設定方法に限らない。例えば、GUI1301にテキストボックスを設け、該テキストボックスに入力した数値(10~54000の間の任意の数値)を上限処理時間としても良い。また、本実施形態では、上限処理時間は10~54000の間の整数とするとが、上限処理時間はこの範囲に限るものではない。なお、上限処理時間の初期値としては予めデフォルトの値(例えば0)が設定されているものとする。
 本実施形態に係る条件テーブルの構成例を図13Bに示す。図13Bの条件テーブル1311には、それぞれの上限処理時間に対応する内部アルゴリズム1313及び制限時間1314が登録されている。内部アルゴリズム1313は内部アルゴリズム813と同様、生産計画を作成するためのアルゴリズムを示す文字列である。制限時間1314は、内部アルゴリズム1313の上限実行時間であり、単位は秒である。図13Bの例では、上限処理時間=11(秒)を設定した場合、「遺伝的アルゴリズム」に基づく生産計画の作成処理を、処理開始から「9秒」が経過するまで行う。
 このように、本実施形態によれば、ユーザからの上限処理時間の指定を受け付け、指定された上限処理時間内で生産計画を作成するようにしたことによって、ユーザが希望する処理時間内で処理時間に応じた精度の生産計画を作成することができる。これによって、ユーザは利用シーンに応じた待ち時間および精度で生産計画を得ることができる。
 <変形例>
 上記の通り、精度パラメータや上限処理時間の指定方法は特定の指定方法に限らない。上記の他にも、例えば、プルダウンリストで候補の値からユーザに選択させるようにしても良いし、精度パラメータや上限処理時間の値をファイルに記述しておき、それを読み込むようにしても良い。
 また、条件テーブルに精度パラメータ若しくは上限処理時間ごとに登録する情報は上記の情報に限らない。例えば、内部アルゴリズムが遺伝的アルゴリズムであれば、遺伝子の交叉回数、確率的に遺伝子が変化した突然変異回数など、内部アルゴリズム固有の終了条件を登録するようにしても良い。
 また、上記の実施形態では、精度パラメータや上限処理時間に対応する内部アルゴリズムの数を1としたが、2以上であっても良い。精度パラメータや上限処理時間に対応する内部アルゴリズムの数が2以上であれば、該2以上の内部アルゴリズムを適宜切り替えて使用しても良いし、併用するようにしても良いし、順次使うようにしても良い。
 また、上記の実施形態では、条件テーブルは、いずれの内部アルゴリズムも同数のパラメータを持つものとしたが、各内部アルゴリズムが持つパラメータの数は、これに限定するものではなく、内部アルゴリズム毎にパラメータの数を変えるようにしても良い。
 また、上記の実施形態において、条件テーブルの精度は、計算時間で近似するとしたが、これに限定するものではない。精度を算出できる内部アルゴリズムを使用する場合には、精度を計算時間で近似せずに、そのまま精度として終了条件に使用しても構わない。
 また、上記の実施形態において、内部アルゴリズムは、ルールベースアルゴリズム、遺伝的アルゴリズム、シミュレーテッドアニーリングとしたが、内部アルゴリズムはこれに限定するものではない。タブーサーチ、貪欲法、混合整数線形計画法などスケジューリング問題に対して解を得ることができるアルゴリズムであれば、どのようなアルゴリズムを使用しても構わない。また、上記の実施形態において、最適化問題を最小化問題として説明したが、最大化問題として解くのでも構わない。また、上記の実施形態では、商品の一例として印刷物を挙げたが、他の商品を対象としても良い。
 また、上記の装置は、複数の機器(例えば、ホストコンピュータ、インタフェース機器、撮像装置、webアプリケーション等)から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。また、以上説明した実施形態や変形例は、その一部若しくは全部を適宜組み合わせて使用しても構わない。
 (その他の実施例)
 本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
 本発明は上記実施の形態に制限されるものではなく、本発明の精神及び範囲から離脱することなく、様々な変更及び変形が可能である。従って、本発明の範囲を公にするために、以下の請求項を添付する。
 本願は、2017年5月2日提出の日本国特許出願特願2017-091947を基礎として優先権を主張するものであり、その記載内容の全てを、ここに援用する。
 306:設定入力部 307:条件保持部 308:条件決定部 312:製造情報保持部 313:作成部

Claims (20)

  1.  リソースに対して作業工程を割り当てる計画の作成精度の指定を受け付ける受付手段と、
     前記受付手段が受け付けた作成精度に対応するアルゴリズム及び該作成精度に対応する前記計画の作成の終了条件に基づいて前記計画の作成を行う作成手段と
     を備えることを特徴とする情報処理装置。
  2.  前記受付手段は、設定画面を介してユーザが設定した前記作成精度を受け付けることを特徴とする請求項1に記載の情報処理装置。
  3.  更に、
     前記作成精度ごとに、前記計画を作成するためのアルゴリズムと、該計画の終了条件を直接的に若しくは間接的に特定するためのパラメータと、を管理する管理手段を備え、
     前記作成手段は、前記受付手段が受け付けた作成精度に対応するアルゴリズム及び前記受付手段が受け付けた作成精度に対応するパラメータによって特定される終了条件に基づいて前記計画の作成を行うことを特徴とする請求項1又は2に記載の情報処理装置。
  4.  前記作成手段は、前記受付手段が受け付けた作成精度に対応する複数の終了条件のうち何れかが満たされるまで前記計画の作成を行うことを特徴とする請求項1又は2に記載の情報処理装置。
  5.  前記作成手段は、前記受付手段が受け付けた作成精度と閾値との大小関係に応じたアルゴリズム及び終了条件に基づいて前記計画の作成を行うことを特徴とする請求項1又は2に記載の情報処理装置。
  6.  前記アルゴリズムは、ルールベースのディスパッチング、遺伝的アルゴリズム、シミュレーテッドアニーリング、タブーサーチ、貪欲法、混合整数線形計画法、を含むことを特徴とする請求項1乃至5の何れか1項に記載の情報処理装置。
  7.  前記終了条件は、前記計画の作成の精度、該作成の反復回数、該作成の収束速度、を含むことを特徴とする請求項1乃至6の何れか1項に記載の情報処理装置。
  8.  前記作成手段は、前記受付手段で前記作成精度の優先度をより高くすることを受け付けた場合、前記計画の評価指標の達成度がより高くなる計画を作成することを特徴とする請求項1乃至7何れか1項に記載の情報処理装置。
  9.  前記作成手段は、前記作成精度より作成速度の優先度を高くすることを受け付けた場合、作業の納期を超えない計画を作成することを特徴とする請求項1乃至8何れか1項に記載の情報処理装置。
  10.  リソースに対して作業工程を割り当てる計画の処理時間の上限の指定を受け付ける受付手段と、
     前記受付手段が受け付けた上限に対応するアルゴリズム及び該上限に対応する前記計画の作成の終了条件に基づいて前記計画の作成を行う作成手段と
     を備えることを特徴とする情報処理装置。
  11.  情報処理装置が行う情報処理方法であって、
     前記情報処理装置の受付手段が、リソースに対して作業工程を割り当てる計画の作成精度の指定を受け付ける受付工程と、
     前記情報処理装置の作成手段が、前記受付工程で受け付けた作成精度に対応するアルゴリズム及び該作成精度に対応する前記計画の作成の終了条件に基づいて前記計画の作成を行う作成工程と
     を備えることを特徴とする情報処理方法。
  12.  前記受付工程では、設定画面を介してユーザが設定した前記作成精度を受け付けることを特徴とする請求項11に記載の情報処理方法。
  13.  更に、
     前記情報処理装置の管理手段が、前記作成精度ごとに、前記計画を作成するためのアルゴリズムと、該計画の終了条件を直接的に若しくは間接的に特定するためのパラメータと、を管理する管理工程を備え、
     前記作成工程では、前記受付工程で受け付けた作成精度に対応するアルゴリズム及び前記受付工程で受け付けた作成精度に対応するパラメータによって特定される終了条件に基づいて前記計画の作成を行うことを特徴とする請求項11又は12に記載の情報処理方法。
  14.  前記作成工程では、前記受付工程で受け付けた作成精度に対応する複数の終了条件のうち何れかが満たされるまで前記計画の作成を行うことを特徴とする請求項11又は12に記載の情報処理方法。
  15.  前記作成工程では、前記受付工程で受け付けた作成精度と閾値との大小関係に応じたアルゴリズム及び終了条件に基づいて前記計画の作成を行うことを特徴とする請求項11又は12に記載の情報処理方法。
  16.  前記アルゴリズムは、ルールベースのディスパッチング、遺伝的アルゴリズム、シミュレーテッドアニーリング、タブーサーチ、貪欲法、混合整数線形計画法、を含むことを特徴とする請求項11乃至15の何れか1項に記載の情報処理方法。
  17.  前記終了条件は、前記計画の作成の精度、該作成の反復回数、該作成の収束速度、を含むことを特徴とする請求項11乃至16の何れか1項に記載の情報処理方法。
  18.  前記作成工程では、前記受付工程で前記作成精度の優先度を高くすることを受け付けた場合、前記計画の評価指標の達成度が高くなる計画を作成することを特徴とする請求項11乃至17何れか1項に記載の情報処理方法。
  19.  情報処理装置が行う情報処理方法であって、
     前記情報処理装置の受付手段が、リソースに対して作業工程を割り当てる計画の処理時間の上限の指定を受け付ける受付工程と、
     前記情報処理装置の作成手段が、前記受付工程で受け付けた上限に対応するアルゴリズム及び該上限に対応する前記計画の作成の終了条件に基づいて前記計画の作成を行う作成工程と
     を備えることを特徴とする情報処理方法。
  20.  コンピュータを、請求項1乃至10の何れか1項に記載の情報処理装置の各手段として機能させるためのコンピュータプログラム。
PCT/JP2018/017222 2017-05-02 2018-04-27 情報処理装置、情報処理方法 WO2018203530A1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2017091947 2017-05-02
JP2017-091947 2017-05-02

Publications (1)

Publication Number Publication Date
WO2018203530A1 true WO2018203530A1 (ja) 2018-11-08

Family

ID=64016118

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2018/017222 WO2018203530A1 (ja) 2017-05-02 2018-04-27 情報処理装置、情報処理方法

Country Status (2)

Country Link
JP (1) JP2018190417A (ja)
WO (1) WO2018203530A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7337501B2 (ja) 2018-12-27 2023-09-04 キヤノン株式会社 情報処理装置、情報処理装置の制御方法、及び、プログラム
JP2023035664A (ja) 2021-09-01 2023-03-13 富士通株式会社 情報処理装置、求解方法、および求解プログラム

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006178756A (ja) * 2004-12-22 2006-07-06 Nippon Steel Corp 生産・物流計画作成装置及び方法、プロセス制御装置及び方法、並びにコンピュータプログラム
JP2008123359A (ja) * 2006-11-14 2008-05-29 Nippon Steel Corp 連続又は関連する工程に対する生産・物流計画作成装置及び方法、生産・物流制御装置及び方法、コンピュータプログラム、並びにコンピュータ読み取り可能な記録媒体
JP2009258969A (ja) * 2008-04-16 2009-11-05 Toshiba Corp 進捗計画作成装置及び進捗計画作成方法
WO2016129502A1 (ja) * 2015-02-10 2016-08-18 三菱重工業株式会社 設備計画支援システム、設備計画支援方法及びプログラム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006178756A (ja) * 2004-12-22 2006-07-06 Nippon Steel Corp 生産・物流計画作成装置及び方法、プロセス制御装置及び方法、並びにコンピュータプログラム
JP2008123359A (ja) * 2006-11-14 2008-05-29 Nippon Steel Corp 連続又は関連する工程に対する生産・物流計画作成装置及び方法、生産・物流制御装置及び方法、コンピュータプログラム、並びにコンピュータ読み取り可能な記録媒体
JP2009258969A (ja) * 2008-04-16 2009-11-05 Toshiba Corp 進捗計画作成装置及び進捗計画作成方法
WO2016129502A1 (ja) * 2015-02-10 2016-08-18 三菱重工業株式会社 設備計画支援システム、設備計画支援方法及びプログラム

Also Published As

Publication number Publication date
JP2018190417A (ja) 2018-11-29

Similar Documents

Publication Publication Date Title
Kassem et al. BIM in facilities management applications: a case study of a large university complex
JP6682223B2 (ja) 計画管理システム及び計画管理方法
Wesz et al. Planning and controlling design in engineered-to-order prefabricated building systems
US8786883B2 (en) Devices and methods for print job tracking using assignable mobile devices
US20120320406A1 (en) Devices and methods for print job tracking
WO2018203530A1 (ja) 情報処理装置、情報処理方法
AU2016200559A1 (en) Method and system for communicating product development information
JP2021196645A (ja) 情報処理装置、方法、プログラム
JP7205080B2 (ja) 印刷工程管理システム及び印刷工程管理プログラム
JP2015201158A (ja) 印刷物生産システム、方法、プログラム及び印刷管理サーバ
US20120044529A1 (en) Processing order determining apparatus, processing order determining method, and non-transitory computer-readable recording medium encoded with processing order determining program
US20190266544A1 (en) Techniques for managing process-flows across an enterprise
US20130205224A1 (en) Electronic data plate system for collaboration amongst multiple disparate parties
JP7138749B2 (ja) エレベータの情報共有支援装置
US20220019201A1 (en) Production plan creation device and non-transitory computer readable medium
JP2022097622A (ja) 情報処理装置、情報処理方法および情報処理プログラム
JP2021089608A (ja) ワークフローシステム、情報処理装置、画像形成装置、処理装置、画像処理装置の制御方法
JP2015056159A (ja) 作業工程管理システム、作業工程管理方法、情報処理装置、携帯端末、およびプログラム
GB2517277A (en) Risk assessment system
JP2006119917A (ja) 工程管理支援システム、工程管理支援方法及び工程管理支援プログラム
US20170270459A1 (en) Device, System, and Method for Tracking Job Management
US20230297902A1 (en) Information processing apparatus, information processing system, non-transitory computer readable medium, and information processing method
US20140067585A1 (en) Systems and methods for determining lean price optimization
JP2006163514A (ja) 要員選定支援システム及びそれに適用されるプログラム
US20150235149A1 (en) Methods and systems for evaluating performance of print production environments

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

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

Country of ref document: EP

Kind code of ref document: A1