WO2013154164A1 - スケジューリング装置、スケジューリング方法およびコンピュータプログラム - Google Patents

スケジューリング装置、スケジューリング方法およびコンピュータプログラム Download PDF

Info

Publication number
WO2013154164A1
WO2013154164A1 PCT/JP2013/060961 JP2013060961W WO2013154164A1 WO 2013154164 A1 WO2013154164 A1 WO 2013154164A1 JP 2013060961 W JP2013060961 W JP 2013060961W WO 2013154164 A1 WO2013154164 A1 WO 2013154164A1
Authority
WO
WIPO (PCT)
Prior art keywords
resource
constraint
registration
product
input
Prior art date
Application number
PCT/JP2013/060961
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 US14/387,374 priority Critical patent/US10380523B2/en
Publication of WO2013154164A1 publication Critical patent/WO2013154164A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0631Resource planning, allocation, distributing or scheduling for enterprises or organisations
    • G06Q10/06313Resource planning in a project environment
    • GPHYSICS
    • 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]
    • G05B19/41865Total 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] characterised by job scheduling, process planning, material flow
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • 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]

Definitions

  • the present invention relates to a scheduling device, a scheduling method, and a computer program, and is particularly suitable for automatically creating a production plan or a distribution plan by a mathematical programming method.
  • a conventional rule for example, a rule of starting production from a product with a close delivery date
  • a scheduling device has been developed. With such a rule-based scheduling device, it is possible to make a certain plan at high speed even for a complicated problem.
  • Patent Document 1 As such a rule-based scheduling device, there is a technique described in Patent Document 1.
  • each process is provisionally assigned to a resource, a first scale corresponding to the difference between the end time and the scheduled end time of a series of processes obtained from the result of the provisional assignment, the provisionally assigned resource and process A technique is disclosed in which a second measure obtained by quantifying the compatibility with the value is obtained and the temporary assignment is repeatedly corrected until the best assignment result is obtained.
  • the technique described in Patent Document 1 repeats the correction for assigning a necessary process to a resource based on a predetermined scale. For this reason, it is not guaranteed that a mathematically optimal plan is made.
  • a scheduling apparatus for creating a production plan or a distribution plan using a mathematical programming method has been developed. If mathematical programming is used, it is possible to formulate a production plan or a logistics plan that is mathematically guaranteed to be optimal. However, in order to make a production plan or a logistics plan according to this method, the planner needs to have advanced mathematical expertise. Therefore, it is often difficult for a user who plans general production / distribution to handle a scheduling device that creates a production plan or a distribution plan using such a mathematical programming method.
  • Patent Document 2 As a scheduling apparatus using such mathematical programming, there is a technique described in Patent Document 2.
  • Patent Document 2 after making an optimization calculation by mathematical programming and formulating a production plan, the quantitative relationship ratio between the raw material and the product in the production plan is fixed, and then the amount of the raw material or the product Is revised using a GUI (Graphical User Interface), and the production plan is re-developed based on the corrected quantity and the quantitative relationship ratio, thereby enabling verification that the planning result does not change significantly.
  • GUI Graphic User Interface
  • AIMMS developed by Paragon Decision Technology BV is a technology for formulating general-purpose production plans or logistics plans in accordance with mathematical methods using mathematical programming.
  • a user can define a mathematical programming variable using a GUI, and an objective function and a constraint expression can be formulated using the defined variable.
  • the user himself / herself inputs variables used in mathematical programming one by one, and the user needs to describe the constraint equations one by one. For this reason, a general user who does not have mathematical expertise cannot easily use such a technique.
  • the conventional technology provides a mechanism for planning a general-purpose production plan or logistics plan using mathematical programming for general users who do not have advanced mathematical expertise. It was difficult. Therefore, the present invention provides a mechanism for planning a variety of production plans or distribution plans using a mathematical programming method for general users who do not have advanced mathematical expertise. Objective.
  • the scheduling apparatus of the present invention includes a product order indicating the content of an order for a product, a process that is a process executed in the process of production or distribution of the product, and human resources and material resources used in the process.
  • An order in which a certain resource, each process executed in the production or distribution process of the product, the execution order of each process, and the resource used in each process are the same are grouped
  • a scheduling device that automatically makes a production plan or a distribution plan by mathematical programming using each information of a kind that is identification information for distinguishing from others, the resource, the process, and the process And the product type, and the product type and the product order are associated with each other and registered in a storage medium, and the registration unit associates the product type with each other.
  • the decision function used when formulating the objective function and the constraint expression according to the mathematical programming method is as follows: A selection input for inputting at least one of the identification information of the product type, the process, and the resource, which is correlated with the construction unit that constructs a variable including another start time and end time, and the registration unit A constraint setting means for setting the content of the constraint expression based on a user's input operation of the identification information in a column; the identification information of the product type and the process, which are associated with each other by the registration means; and the purpose The content of the objective function is set based on the input operation of the identification information and the objective of the user to the selection input field for inputting the objective by the function.
  • a constraint formula formulation unit that formulates the constraint formula using a variable constructed by the unit, the product type, the process, the resource, and the product order, which are associated with each other by the registration unit, Based on the contents of the objective function set by the objective setting means, the objective function formulation means for formulating the objective function using the variables constructed by the construction means, and the constraint formula formulation means The decision variable that maximizes or minimizes the objective function formulated by the objective function formulating means within a range that satisfies the constraints based on the formulated constraint formula, And a plan creation means for deriving by performing optimization calculation by mathematical programming.
  • the scheduling method of the present invention includes a product order indicating the content of a product order, a process that is a process executed in the production or distribution process of the product, and human resources and material resources used in the process.
  • An order in which a certain resource, each process executed in the production or distribution process of the product, the execution order of each process, and the resource used in each process are the same are grouped
  • a scheduling method for automatically planning a production plan or a distribution plan by a mathematical programming method using information of each kind of identification information for distinguishing from others, the resource and the process The registration step for registering the step and the product type, the product type and the product order in a storage medium in association with each other, and the registration step
  • As a decision variable used when formulating an objective function and a constraint expression according to the mathematical programming based on the associated product type, process, resource, and product order In order to input at least one of a construction step for building a variable including a start time and an end time for each resource and each resource, and identification information of the product type,
  • the computer program of the present invention comprises a product order indicating the content of a product order, a process that is a process executed in the production or distribution process of the product, and human resources and physical resources used in the process.
  • An order in which a certain resource, each process executed in the production or distribution process of the product, the execution order of each process, and the resource used in each process are the same are grouped
  • a construction process for constructing a variable including a start time and an end time for each product order, each process, and each resource, and the identification information of the product type, the process, and the resource that are associated with each other by the registration process.
  • a constraint setting step for setting the content of the constraint formula based on an input operation of the identification information by the user in a selection input field for inputting at least one, and the product type associated with each other by the registration step And an operation for inputting the identification information and the purpose of the user into the selection input field for inputting the identification information of the process and the purpose of the objective function.
  • the resource and the process, the process and the product, and the product and the product order are registered in association with each other through the process.
  • the content of the constraint expression is set based on an input operation of the identification information in the selection input field for inputting at least one of the identification information of the product type, the process, and the resource.
  • the contents of the objective function are set based on the identification information in the selection input field for inputting the type and process identification information and the objective by the objective function and the objective input operation. Therefore, it is possible to provide a mechanism for formulating various production plans or distribution plans using a mathematical programming method for general users who do not have advanced mathematical expertise.
  • FIG. 1 is a diagram illustrating an example of a functional configuration of a scheduling apparatus.
  • FIG. 2 is a diagram conceptually illustrating an example of a relationship among information on resources, product types, processes, and product orders.
  • FIG. 3A is a diagram illustrating an example of an initial state of the resource registration screen.
  • FIG. 3B is a diagram illustrating an example of a resource registration screen in which initial attributes of resources are input.
  • FIG. 3C is a diagram illustrating an example of a resource registration screen in which initial attributes of resources and attributes added by the user are input.
  • FIG. 4A is a diagram illustrating an example of an initial state of a product type registration screen.
  • FIG. 4B is a diagram illustrating an example of a product type registration screen in which product type information is input.
  • FIG. 5A is a diagram illustrating an example of an initial state of a process registration screen.
  • FIG. 5B is a diagram illustrating an example of a process registration screen in which process information related to a process to be executed in a product whose name is “normal operation” is input.
  • FIG. 5C is a process registration screen in which process information related to a process to be executed with a product whose name is “special operation 1” is input.
  • FIG. 6A is a diagram illustrating an example of an initial state of a product order registration screen.
  • FIG. 6B is a diagram illustrating an example of a product order registration screen in which product order information is input.
  • FIG. 7A is a diagram illustrating an example of an initial state of the resource simultaneous use constraint setting screen.
  • FIG. 7B is a diagram illustrating an example of a simultaneous resource use restriction setting screen in which information on simultaneous resource use restrictions is input.
  • FIG. 8A is a diagram illustrating an example of an initial state of a resource usage pattern constraint setting screen.
  • FIG. 8B is a diagram illustrating an example of a resource usage pattern constraint setting screen into which resource usage pattern constraint information is input.
  • FIG. 9A is a diagram illustrating an example of an initial state of a resource usage pattern processing time constraint setting screen.
  • FIG. 9B is a diagram illustrating an example of a resource usage pattern processing time constraint setting screen in which resource usage pattern constraint information is input.
  • FIG. 10A is a diagram illustrating an example of an initial state of the same lot constraint setting screen.
  • FIG. 10B is a diagram illustrating an example of the same lot constraint setting screen in which information on the same lot constraint is input.
  • FIG. 11A is a diagram illustrating an example of an initial state of the different lot constraint setting screen.
  • FIG. 11B is a diagram illustrating an example of a different lot constraint setting screen in which information on different lot constraints is input.
  • FIG. 12A is a diagram illustrating an example of an initial state of the resource operation constraint setting screen.
  • FIG. 12B is a diagram illustrating an example of a resource operation constraint setting screen in which information on resource operation constraints is input.
  • FIG. 13A is a diagram illustrating an example of an initial state of a resource maximum capacity constraint setting screen.
  • FIG. 13B is a diagram illustrating an example of a resource maximum capacity constraint setting screen in which information on the resource maximum capacity constraint is input.
  • FIG. 14A is a diagram illustrating an example of an initial state of the new constraint setting screen.
  • FIG. 14B is a diagram illustrating an example of a new constraint setting screen in which information on a new constraint is input.
  • FIG. 15 is a diagram illustrating an example of a purpose setting screen.
  • FIG. 16A is a diagram illustrating an example of an initial state of the new purpose setting screen.
  • FIG. 16B is a diagram illustrating an example of a new purpose setting screen in which new purpose information is input.
  • FIG. 17A is a flowchart for explaining an example of the processing operation of the scheduling apparatus.
  • FIG. 17A is a flowchart for explaining an example of the processing operation of the scheduling apparatus.
  • FIG. 17B is a flowchart following FIG. 17A.
  • FIG. 17C is a flowchart subsequent to FIG. 17B.
  • FIG. 17D is a flowchart following FIG. 17C.
  • FIG. 18 is a diagram illustrating an example of a hardware configuration of the scheduling apparatus.
  • FIG. 1 is a diagram illustrating an example of a functional configuration of the scheduling apparatus 100.
  • the scheduling apparatus 100 shown in FIG. 1 can be realized by using, for example, an information processing apparatus including a CPU, a ROM, a RAM, an HDD, and various interfaces.
  • the scheduling apparatus 100 of the present embodiment sets an objective function and a constraint equation using information input based on an operation of the input device by a user, calculates an optimal value of the objective function using mathematical programming, A production plan is drawn up from the calculated result, and the result is presented to the user.
  • information necessary for setting the objective function and the constraint equation can be input even by a general user who does not have advanced mathematical expertise.
  • FIG. 2 is a diagram conceptually illustrating an example of a relationship among information on resources, product types, processes, and product orders.
  • a resource, a product type, a process, and a product order are input and registered in the scheduling device 100 based on the operation of the input device by the user.
  • a resource is a general term for human resources and physical resources used in each process for producing and distributing products, and information that is a “constant” in at least one of an objective function and a constraint equation is These attributes are included (see “maximum capacity”, “minimum usage interval”, and “usable start date” in FIG. 3).
  • the physical resource is, for example, a machine / equipment for processing or conveying, a place for raw materials / intermediate products / products, and includes all physical resources generally handled in the fields of production planning and logistics planning.
  • Human resources include, for example, all human resources that are workers and are generally handled in the fields of production planning and logistics planning.
  • a product type is a set of each process executed in the process of production or distribution of products included in a product order (order), the execution order of each process, and the resources used in each process. As identification information for distinguishing from others (see FIGS. 4 and 5).
  • the product order belongs to one of these varieties (see FIG. 6).
  • resources used in each process are registered (see FIG. 5), processes executed in each product type are registered (see FIG. 5), and product types are assigned to product orders. Is registered (see FIG. 6). Therefore, as shown in FIG. 2, resources and processes, processes and types, and types and product orders are associated with each other. That is, resources, product types, processes, and product orders are registered in association with each other. Details of an example of the resource / product type / process / product order input / registration method will be described later with reference to FIGS. Below, an example of the function which the scheduling apparatus 100 has is demonstrated in detail.
  • FIG. 3 is a diagram illustrating an example of the resource registration screen 300.
  • FIG. 3A is a diagram illustrating an example of an initial state of the resource registration screen 300.
  • FIG. 3B is a diagram illustrating an example of a resource registration screen 300 in which initial attributes (preset attributes) of resources are input.
  • FIG. 3C is a diagram illustrating an example of a resource registration screen 300 in which initial attributes of resources and attributes newly added by the user are input.
  • the resource registration screen 300 is a GUI and includes a resource input field 301, a registration button 302, an add button 303, and a delete button 304.
  • the resource registration screen 300 is a screen for registering a resource name for identifying a resource and a resource attribute identified by the resource name.
  • the initial attributes of the resource are “resource name”, “maximum capacity”, and “minimum use interval”.
  • “Resource name” means the name of the resource to be registered.
  • the resource name can be input as text in a column in which the characters “resource name” are displayed.
  • “Maximum capacity” means the maximum capacity of the registration target resource.
  • a value (number) of the number [number / min] that a resource can process per unit time can be input as the maximum capacity in a column displaying the characters “maximum capacity”. It has become.
  • the “minimum use interval” means a time that must be secured after the use of the registration target resource is completed.
  • the value (number) of the time [min] can be input as the minimum use interval in a column in which the characters “minimum use interval” are displayed.
  • the “resource name” is “machine 1”
  • the “maximum capacity” is “1 [piece / min]”
  • the “minimum usage interval” is “0”. .3 [min] ”and resource information indicating that the“ usable start date ”is“ December 10, 2011 ”is input.
  • the add button 303 When the user operates the input device and presses the add button 303 in a state where a specific row or column of the resource input field 301 on the resource registration screen 300 is specified, the next row or column after the specified row or column is added. Is done. For example, when the add button 303 is pressed in a state where the column indicating “minimum usage interval” in the resource input field 301 shown in FIG. 3B is specified, the column next to “minimum usage interval” is displayed. One blank column is added. In the resource registration screen 300 shown in FIG. 3C, a state in which “usable start date” is added to this column as a resource attribute is shown. The “usable start date” means the first date when the resource to be registered can be used.
  • the resource registration screen 300 of the present embodiment for example, it is possible to input the value (number) of this year / month / day as a usable start date in a column in which the characters “usable start date” are displayed. (See FIG. 3C).
  • the add button 303 is pressed in a state where columns indicating “resource name” and “maximum capacity” are specified, “maximum capacity” and “maximum capacity” are respectively set between “resource name” and “maximum capacity”.
  • One blank column is added between the “minimum use interval”.
  • resource attributes can be added.
  • the delete button 304 When the user operates the input device and presses the delete button 304 in a state where a specific row or column in the resource input field 301 of the resource registration screen 300 is specified, the specified row or column is deleted. For example, when the delete button 304 is pressed in a state where the column indicating “usable start date” in the resource input field 301 shown in FIG. 3C is specified, the column indicating “usable start date” is displayed. Deleted. By doing so, the attribute of the resource can be deleted. However, in this embodiment, the initial attributes (“maximum capacity” and “minimum usage interval”) cannot be deleted. Of course, the initial attribute may be deleted.
  • the delete button 304 when the delete button 304 is pressed in a state where the line indicating “machine L” in the resource input field 301 illustrated in FIG. 3C is specified, the line indicating “machine L” is deleted. The By doing so, the resource (item) can be deleted. However, in the present embodiment, the input field (blank field in FIG. 3A) displayed in the initial state cannot be deleted.
  • the resource input registration unit 101 performs registration.
  • the button 302 is pressed, the contents input in the resource input field 301 are stored in the storage medium.
  • the “maximum capacity” and “minimum use interval” that are the attributes of the resource registered in this way are automatically set as constants in a constraint expression described later (see formulas (4) and (10)).
  • the “usable start date” is automatically set as a constant in an objective function described later (see equation (11)).
  • the CPU In the resource input registration unit 101, for example, the CPU generates display data for displaying the resource registration screen 300 according to the contents of the input operation by the user, outputs the display data to the display device, and stores the resource information in the HDD or the like. This is realized by memorizing.
  • FIG. 4 is a diagram illustrating an example of the product type registration screen 400.
  • FIG. 4A is a diagram illustrating an example of an initial state of the product type registration screen 400.
  • FIG. 4B is a diagram illustrating an example of a product type registration screen 400 in which product type information is input.
  • the product type registration screen 400 is a GUI and includes a product type input field 401, a registration button 402, an add button 403, and a delete button 404.
  • the product type registration screen 400 is a screen for registering product type names.
  • FIG. 4B shows a state in which “normal operation”, “special operation 1”,... “Special operation M” are input as the names of “product types”.
  • the name of the product type can be entered as text in a column in which the characters “product type” are displayed.
  • the product type input registration unit 102 performs registration.
  • the button 402 is pressed, the contents input in the product type input field 401 are stored in the storage medium. At this point, the product type information is not associated with other information.
  • the CPU In the product type registration unit 102, for example, the CPU generates display data for displaying the product type registration screen 400 corresponding to the content of the input operation by the user, outputs the display data to the display device, and stores the product information on the HDD or the like. This is realized by memorizing.
  • FIG. 5 is a diagram illustrating an example of the process registration screen 500.
  • FIG. 5A is a diagram illustrating an example of an initial state of the process registration screen 500.
  • FIG. 5B is a diagram showing an example of a process registration screen 500 in which process information related to a process executed with a product whose name is “normal operation” is input.
  • FIG. 5C is a process registration screen 500 in which process information related to a process executed with a product whose name is “special operation 1” is input.
  • a process registration screen 500 is a GUI and includes a process input field 501, a registration button 502, an add button 503, and a delete button 504.
  • the process registration screen 500 is a screen for registering process attributes for each product type.
  • the name of the “product type” registered by the product type registration unit 102 is displayed on the tab of each process registration screen 500.
  • the input operation for the tabs not hatched is valid. For example, when the user operates the input device and presses a “tab with characters“ Special Operation 1 ”” on the process registration screen 500 shown in FIGS. 5A and 5B, the process registration screen 500 shown in FIG. 5C. Is displayed.
  • the process information related to the process executed in each product type is registered by inputting and registering the process information on each process registration screen 500 as follows. The contents of the process registration screen 500 will be described below.
  • the initial attributes of the process are “processing order”, “process name”, “minimum time”, “maximum time”, and ““ machine 1 “Machine 2”, “Machine L-1”, “Machine L” ”.
  • “Process order” means the execution order of the process in the product type to which the process to be registered belongs. In the present embodiment, “1” is automatically displayed in the first input field of “Process Order”. Thereafter, integers are automatically numbered (displayed) in ascending order from the top row.
  • “Process name” means the name of the process to be registered. In the present embodiment, for example, it is possible to input a process name as text in a column in which characters of “process name” are displayed.
  • Minimum time indicates a minimum time [hour] in which a raw material, an intermediate product, and a product can stay in a process to be registered. In the present embodiment, for example, this value (number) can be input as the minimum time in a column displaying the characters “minimum time”. “Maximum time” indicates the maximum time [hour] that the raw material, the intermediate product, and the product can stay in the process to be registered. In the present embodiment, for example, this value (number) can be input as the maximum time in a column in which the characters “maximum time” are displayed.
  • ““ Machine 1 ”,“ Machine 2 ”,...“ Machine L-1 ”,“ Machine L ”” indicate resource names registered by the resource input registration unit 101 (see FIG. 3).
  • “Main”, “Sub” are displayed in the columns where the characters “Machine 1”, “Machine 2”,... “Machine L-1”, “Machine L” are displayed.
  • “main” indicates a main resource used in a process to be registered.
  • the “secondary” indicates a secondary resource used in the process to be registered.
  • the “blank” is the resource of “resource name (“ machine 1 ”,“ machine 2 ”,...“ Machine L-1 ”,“ machine L ”)” that is blank in the process to be registered. Indicates that it will not be used.
  • the “process name” of the process whose “process order” is “P” among the processes used in the type having the name “special operation 1” is “assembly”.
  • the “minimum time” of the process is “1.0 [hour]”
  • the “maximum time” of the process is “1.2 [hour]”
  • the resources to be executed are “Machine L-1” and “Machine L”, a process indicating that “Machine L-1” is used as a primary resource and “Machine L” is used as a secondary resource. Indicates that information has been input.
  • the add button 503 When the user operates the input device and presses the add button 503 in a state where a specific row or column in the process input field 501 of the process registration screen 500 is specified, the next row or column after the specified row or column is added. Is done. Thereby, the addition of the attribute of a process and the addition of the number of processes can be performed. Further, when the user operates the input device and presses the delete button 504 in a state where a specific row or column in the process input field 501 of the process registration screen 500 is specified, the specified line or column is deleted. Thereby, it is possible to delete process attributes and the number of processes.
  • the initial attribute and resource input fields (resource names ("machine 1", "machine 2", ...
  • machine L-1 "machine L" fields
  • the process input registration is performed.
  • the unit 103 stores the contents input in the process input field 501 for each product type in the storage medium.
  • the process input registration unit 103 registers ““ process order ”,“ processing amount ”,“ minimum time ”,“ maximum time ”, and“ resources (machine 1, machine 2, ... Machine L) ”are stored as product order information.
  • the process registration screen 500 the product type and the resource are associated with each other through the process (see FIG. 2).
  • the CPU In the process input registration unit 103, for example, the CPU generates display data for displaying the process registration screen 500 corresponding to the contents of the input operation by the user, outputs the display data to the display device, and stores the process information in the HDD or the like. It is realized by doing.
  • FIG. 6 is a diagram illustrating an example of the product order registration screen 600.
  • FIG. 6A is a diagram illustrating an example of an initial state of the product order registration screen 600.
  • FIG. 6B is a diagram illustrating an example of a product order registration screen 600 in which product order information is input.
  • the product order registration screen 600 is a GUI and includes a product order input field 601, a registration button 602, an add button 603, and a delete button 604.
  • the product order registration screen 600 is a screen for registering the attributes of each product order.
  • the initial attributes of the product order are “order number”, “name”, “lot”, “product type”, “delivery date”, and “delivery date allowance”.
  • Order number is an identification number of a product order to be registered.
  • “00001” is automatically displayed in the first input field of “order number” in the product order input field 601. Thereafter, integers are automatically numbered (displayed) in ascending order from the top row.
  • “Name” means the name of the product order to be registered.
  • “Lot” means identification information of a lot to which a product order to be registered belongs.
  • numerals and alphabets can be input as identification information in a column in which the characters of the product order input field 601 “lot” are displayed.
  • “Type” means the name of the “type” registered in the type input registration unit 102 (see FIG. 4). In the present embodiment, for example, any of the names of these types can be selected and input in a column in which the characters “product type” are displayed in the product order input field 601. This selection input can be realized, for example, by performing pull-down menu display.
  • “Processing amount” means the amount of product orders to be registered. In the present embodiment, for example, the value (number) of this amount [ton] can be input as the processing amount in the column displaying the text “processing amount” in the product order input field 601. It has become.
  • “Delivery date” means the delivery date of the product order to be registered.
  • this date can be entered as a delivery date in a column displaying “delivery date” in the product order entry field 601.
  • the “delivery delay allowable amount” means the number of days allowed even if it is delayed with respect to the delivery date of the product order to be registered.
  • this number of days can be input as a delivery delay tolerance in a column in which the characters “allowable delivery delay” are displayed in the product order entry field 601. .
  • the “order number” is “00001”
  • the name is “1 for company A”
  • the identification information of the belonging “lot” is “L001”.
  • "Product type” to which the item belongs is "Normal operation”
  • "Processing amount” is "5.0 [ton]”
  • "Delivery date” is "December 10, 2011”
  • “Delivery delay tolerance” Indicates that product order information indicating that “3 [day]” is input.
  • the add button 603 When the user operates the input device and presses the add button 603 while designating a specific row or column in the product order input field 601 of the product order registration screen 600, the next row or column next to the designated row or column. Is added. Thereby, it is possible to add the attribute of the product order and add the number of product orders.
  • the delete button 604 when the user operates the input device and presses the delete button 604 in a state where a specific row or column in the product order input field 601 of the product order registration screen 600 is specified, the specified row or column is deleted. . Thereby, it is possible to delete the attribute of the product order and delete the number of product orders.
  • the initial attribute cannot be deleted. Of course, the initial attribute may be deleted. Note that the method of adding and deleting these rows or columns is the same as the method described in the resource registration screen 300 shown in FIG. 3, and therefore detailed description thereof is omitted here.
  • the product order input registration unit 104 Stores the content input in the product order input field 601 in the storage medium when the registration button 602 is pressed. For example, the product order input registration unit 104 registers ““ order number ”,“ name ”,“ lot ”,“ product type ”,“ delivery date ”, and“ delivery date allowance ”registered in each line of the product order entry field 601. Is stored as product order information.
  • the CPU In the product order input registration unit 104, for example, the CPU generates display data for displaying the product order registration screen 600 corresponding to the contents of the input operation by the user, outputs the display data to the display device, and also displays the product order information. This is realized by storing in an HDD or the like.
  • the product order registration screen 600 the product order and the product type are associated with each other (see FIG. 2).
  • the process registration screen 500 the product and the resource are associated with each other through the process. Therefore, the process and the product order are associated with each other via the product type. Therefore, resources, product types, processes, and product orders are registered in association with each other.
  • variable / constant construction unit 105 automatically constructs variables and constants used when formulating the objective function and the constraint expression in accordance with mathematical programming.
  • the following variables (a) to (c) are constructed as decision variables.
  • the start time order number, process name, resource name , end time order number, process name, and resource name are the start time and end time for each order number, each process name, and each resource name .
  • the usability order number, process name, and resource name are 0-1 variables.
  • the value of the availability order number, process name, and resource name is “1”.
  • the resource of “resource name” is used. “0” indicates that such a resource is not used.
  • the before / after determination order number 1, order number 2, process name, and resource name are 0-1 variables.
  • the value of the order number 1, order number 2, process name, and resource name is “1” because the resource of “resource name” is the product of “order number 2” in the process of “process name”. This indicates that the product order “order number 1” is used before the order.
  • variable (a) start time order number, process name, resource name , end time order number, process name, resource name
  • the variable / constant construction unit 105 extracts “product type” from “product order information of each order number” registered in the product order input registration unit 104 (see FIG. 6), and registers it in the process input registration unit 103.
  • process information belonging to the extracted “product type” is extracted (see FIG. 5).
  • variable / constant construction unit 105 for each “order number” of the product order, for each “process name” registered in association with the order number, based on the result extracted as described above, A start time and an end time for each “resource name” registered as a primary resource and a secondary resource associated with the order number are constructed as decision variables.
  • Start time 00002 machining, machine 1 End time 00002, machining, machine 1 Start time 00002, machining, machine 2 End time 00002, machining, machine 2 Start time 00002, wait, machine 2 End time 00002, wait, machine 2 Start time 00002, wait, machine 2 End time 00002, wait, machine 2 ... Start time 00002, Assembly, machine 1 End time 00002, Assembly, machine 1 Start time 00002, assembly, machine L-1 End time 00002, assembly, machine L-1 Start time 00002, assembly, machine L End time 00002, assembly, machine L ...
  • Start time 0000N machining, machine 1 End time 0000N machining, machine 1 Start time 0000N, wait, machine L-1 End time 0000N, wait, machine L-1 ...
  • variable (b) usability order number, process name, resource name
  • the variable / constant construction unit 105 extracts “product type” from “product order information of each order number” registered in the product order input registration unit 104 (see FIG. 6), and registers it in the process input registration unit 103. Among the obtained process information, process information belonging to the extracted “product type” is extracted (see FIG. 5).
  • the variable / constant construction unit 105 for each “order number” of the product order, for each “process name” registered in association with the order number, based on the result extracted as described above, The availability of each “resource name” registered as a main resource and a secondary resource associated with the order number is constructed as a decision variable.
  • Usability 00002 machining, machine 1 Usability 00002, machining, machine 2 Usability 00001, wait, machine 2 Usability 00002, wait, machine 2 ... Usability 00002, Assembly, Machine 1 Usability 00002, Assembly, Machine L-1 Usability 00002, Assembly, Machine L ...
  • Usability 0000N processing, machine 1 Usability 0000N, wait, machine L-1 ...
  • variable / constant construction unit 105 extracts “product type” from “product order information of each order number” registered in the product order input registration unit 104 (see FIG. 6), and registers it in the process input registration unit 103. Among the obtained process information, process information belonging to the extracted “product type” is extracted (see FIG. 5).
  • the variable / constant constructing unit 105 registers “process name” that is registered in association with the order number for each of two different product orders based on the results extracted as described above. Separately, the determination before and after by “resource name” registered as a main resource and a secondary resource in association with the order number is constructed as a decision variable.
  • the following decision variables are constructed. Judgment before and after 00001,00002, processing, machine 1 Judgment before and after 00001,00002, processing, machine 2 Judgment before and after 00001,00002, wait, machine 1 Judgment before and after 00001,00002, wait, machine 2 ... Judgment before and after 00001,00002, assembly, machine 1 Judgment before and after 00001,00002, assembly, machine L-1 Judgment before and after 00001,00002, assembly, machine L ...
  • Judgment before and after 00001,0000N processing, machine 1 Judgment before and after 00001,0000N, processing, machine 2 Judgment before and after 00001 000 N, wait, machine 1 Judgment before and after 00001 000N, wait, machine 2 ... Judgment before and after 00001,0000N, assembly, machine 1 Judgment before and after 00001,0000N, assembly, machine L-1 Judgment before and after 00001,0000N, assembly, machine L ...
  • variable / constant construction unit 105 automatically constructs the attributes newly registered as attributes of the resource, product type, process, and product order as constants.
  • “usable start date” is newly set as the resource attribute. Therefore, the variable / constant construction unit 105 constructs constants shown in (c) below.
  • variable / constant construction unit 105 is realized, for example, when the CPU reads the product order information and the process information from the HDD or the like, creates the variables and constants described above, and stores the data in the RAM or the like. .
  • Constraint condition input setting unit 106 In the present embodiment, as will be described later, a constraint formula is used in which a constraint described using at least one of “variety, process, and resource” is formulated according to a mathematical programming method. Therefore, the constraint condition input setting unit 106 describes the content of the constraint using at least one selection input field of identification information of “product type, process, and resource” associated with each other as described above. A constraint setting screen on which at least the content of the constraint expression is displayed is displayed. Then, the constraint condition input setting unit 106 sets the content of the constraint based on the result selected and input by the user in the selection input field of the constraint setting screen. In the present embodiment, the following restrictions (A) to (G) are set.
  • the following restrictions (A) to (G) are set.
  • FIG. 7A is a diagram illustrating an example of an initial state of the resource simultaneous use constraint setting screen 700.
  • FIG. 7B is a diagram illustrating an example of the simultaneous resource use constraint setting screen 700 in which information on the simultaneous resource use constraint is input.
  • the resource simultaneous use constraint setting screen 700 is a GUI, and includes a constraint condition input field 701, a registration button 702, the same constraint addition button 703, a next constraint addition button 704, and a delete button 705.
  • constraint condition input field 701 By inputting into this constraint condition input field 701, a “resource (resource name)” used when a certain “product type” passes a certain “process (process name)” and one or more other “ Resource simultaneous indicating that “resource (resource name)” used when “product type” passes through a certain “process (process name)” cannot be used in the same period (time overlapping period) Usage constraints (“constraint name (“ constraint 1- * ”)”) can be registered. Details of each column will be described below.
  • the “constraint name” displayed in the constraint condition input field 701 is identification information of the resource simultaneous use constraint.
  • “Constraint 1-1” is automatically displayed in the first entry field of “Constraint Name”. Thereafter, integers are automatically numbered (displayed) in ascending order from the top row in the * part of the word “Constraint 1- *” (“Constraint 1-1”, “Constraint 1-2”). ).
  • the “product type” (name), “process name”, and “resource name” registered as described above, respectively. Can be selected and input. This selection input can be realized, for example, by performing pull-down menu display.
  • process name and “resource name” cannot be selected and input unless “product type” is selected and input here.
  • process name” and “resource name” input fields only those registered in association with the selected “product type” can be selected and input.
  • process name” and “resource name” may be selectively input before “product type”.
  • ““ product type ”,“ process name ”, and“ resource name ”” to be selectively input are registered in association with each other. For example, in the process registration screen 500 shown in FIG. 5B, in the process where “process name” is “machining” and used in “normal operation”, “resource name” is “machine 1” and “machine 2”.
  • the resource will be used (ie, registered as a primary resource or a secondary resource).
  • “normal operation” is selected and input as “product type” in the constraint condition input field 701 and “machining” is selected and input as “process name”, “machine 1” and “resource name” are selected.
  • a pull-down menu capable of selectively inputting only one of “Machine 2” is displayed.
  • the process registration screen 500 shown in FIG. 5C in the process where “process name” used in “special operation 1” is “machining”, the resource whose “resource name” is “machine 1” is used. It will be.
  • the “simultaneous operation” “processing” and the “special operation 1” “processing” are used as the resource simultaneous use constraint whose name is “constraint 1-1”.
  • a resource simultaneous use constraint indicating that “machine 1” cannot be used simultaneously is set.
  • “Machine 1” is a resource that can be used simultaneously for a plurality of product orders, it is possible to set a resource simultaneous use constraint.
  • next constraint addition button 704 when the user operates the input device and presses the next constraint addition button 704 in a state where the leftmost column area of the constraint condition input field 701 on the resource simultaneous use constraint setting screen 700 is designated, A blank selection input field is added to the next line. By doing so, it is possible to add a resource simultaneous use constraint.
  • the delete button 705 when the user operates the input device and presses the delete button 705 in a state where a specific line in “Restriction 1- *” in the restriction condition input field 701 of the simultaneous resource use restriction setting screen 700 is designated, the designation is performed. The deleted line is deleted.
  • the constraint condition input setting is performed.
  • the unit 106 stores the content input in the constraint condition input field 701 in the storage medium.
  • FIG. 8A is a diagram illustrating an example of an initial state of the resource usage pattern constraint setting screen 800.
  • FIG. 8B is a diagram showing an example of a resource usage pattern constraint setting screen 800 in which resource usage pattern constraint information is input.
  • the resource usage pattern constraint setting screen 800 is a GUI, and includes a constraint condition input field 801, a registration button 802, the same constraint addition button 803, a next constraint addition button 804, and a delete button 805.
  • Input fields for “process name” and “resource name” are provided.
  • the “constraint name” displayed in the constraint condition input field 801 is resource usage pattern constraint identification information.
  • “Constraint 2-1” is automatically displayed in the first input field of “Constraint Name”. Thereafter, integers are automatically numbered (displayed) in ascending order from the top row in the * part of the word “Constraint 2- *”.
  • the “product type” (name), “process name”, and “resource name” are displayed, the “product type” (name), “process name”, and “resource name” registered as described above, respectively. Can be selected and input. This selection input can be realized, for example, by performing pull-down menu display.
  • process name and “resource name” cannot be selected and input unless “product type” is selected and input here.
  • process name” and “resource name” input fields only those registered in association with the selected “product type” can be selected and input.
  • process name and “resource name” may be selectively input before “product type”. Even in this case, ““ product type ”,“ process name ”, and“ resource name ”” to be selectively input are registered in association with each other.
  • the constraint condition input setting is performed.
  • the unit 106 stores the content input in the constraint condition input field 801 in the storage medium.
  • the constraint condition input setting unit 106 displays a resource usage pattern processing time constraint setting screen 900 shown in FIG. 9 on the display device.
  • FIG. 9A is a diagram illustrating an example of an initial state of the resource usage pattern processing time constraint setting screen 900.
  • FIG. 9B is a diagram illustrating an example of a resource usage pattern processing time constraint setting screen 900 in which information on resource usage pattern constraints is input.
  • the resource usage pattern processing time constraint setting screen 900 is a GUI and includes a constraint condition input field 901, a registration button 902, an add button 903, and a delete button 904. In the constraint condition input field 901 shown in FIG.
  • the “constraint name” displayed in the constraint condition input field 901 is identification information of the resource usage pattern processing time constraint.
  • “Constraint 3-1” is automatically displayed in the first input column of “Constraint Name”. Thereafter, integers are automatically numbered (displayed) in ascending order from the top row in the * part of the word “Constraint 3- *”.
  • the “product type” (name), “process name”, and “resource name” registered as described above, respectively. Can be selected and input. This selection input can be realized, for example, by performing pull-down menu display.
  • process name and “resource name” cannot be selected and input unless “product type” is selected and input here.
  • process name” and “resource name” only those registered in association with the selected “product type” can be selected and input.
  • process name” and “resource name” may be selectively input before “product type”. Even in this case, ““ product type ”,“ process name ”, and“ resource name ”” to be selectively input are registered in association with each other. In the column in which the characters “usage time” are displayed, the value (number) of “usage time” described above can be input.
  • the “usage time” for a “process name” of a “product type” is within the range of “minimum time” to “maximum time” registered for the “process name” of the “product type”. (Refer to FIG. 5 for “minimum time” and “maximum time”).
  • the input setting unit 106 stores the content input in the constraint condition input field 901 in the storage medium.
  • FIG. 10A is a diagram illustrating an example of an initial state of the same lot constraint setting screen 1000.
  • FIG. 10B is a diagram illustrating an example of the same lot constraint setting screen 1000 in which information on the same lot constraint is input.
  • the same lot constraint setting screen 1000 is a GUI and includes a constraint condition input field 1001, a registration button 1002, an add button 1003, and a delete button 1004.
  • the input items (“constraint name”, “product type”, “process name”, “previous process connection type”, “waiting time” in the constraint condition input field 1001 are displayed. Area), the first input field (input field for “Constraint 4-1”), a registration button 1002, an add button 1003, and a delete button 1004 are displayed.
  • the lot is a group of a plurality of product orders, and the production of the product order is performed in units of the lot.
  • Product orders of the same product type belong to the same lot.
  • the “product type” for identifying the product type belonging to the same lot constraint identified by the “restriction name (“ constraint 4- * ”)” and its “product type” are passed.
  • a “process name” for identifying the “process” to be performed, and a “pre-process connection type” that defines the temporal relationship between two product orders belonging to the “product type” when passing through the “process” is provided.
  • the input to the constraint condition input field 1001 is “ The same lot constraint (“constraint name (“ constraint 4- * ”)” in which the “process (process name)” must pass through the relationship indicated by “previous process connection type” after waiting for “wait time” ) Can be registered. Details of each column will be described below.
  • the “constraint name” displayed in the constraint condition input field 1001 is identification information of the same lot constraint.
  • “Constraint 4-1” is automatically displayed in the first input column of “Constraint Name”. Thereafter, integers are automatically numbered (displayed) in ascending order from the top row in the * part of the word “Constraint 4- *”.
  • integers are automatically numbered (displayed) in ascending order from the top row in the * part of the word “Constraint 4- *”.
  • the columns in which the characters “product type” and “process name” are displayed either “product type” (name) or “process name” registered as described above can be selected and input. It is possible. This selection input can be realized, for example, by performing pull-down menu display.
  • the “process name” cannot be selected and input here unless the “product type” is selected and input.
  • process name In the “process name” input field, only items registered in association with the selected “product type” can be selected and input. Note that “process name” may be selected and input before “product type”. Even in this case, ““ product type ”and“ process name ”” to be selected and input are registered in association with each other.
  • Previous process connection type means that among the “two“ product orders ”in the same lot” that are executed in time in the process entered in the input field of “process name”, the process is It shows the temporal relationship in the process between what is executed first and what is executed later.
  • This selection input can be realized, for example, by performing pull-down menu display.
  • the “product order executed later” is referred to as “own order” as necessary
  • the “product order executed earlier” is referred to as “previous order” as necessary.
  • “(Previous) End (Self) Start” and “(Previous) Start (Self) Start” are preset as “Previous Process Connection Type”.
  • “(Previous) End (Self) Start” means that the last raw material / intermediate product / product of the previous order has been completed Indicates that “process entered in the input field of“ process name ”” is started for the raw materials, intermediate products, and products.
  • “(Before) Start (Own) Start” means that the first raw material / intermediate product / product of the previous order starts after the “process entered in the input field of“ Process Name ”” starts. Indicates that “process entered in the input field of“ process name ”” is started for the raw materials, intermediate products, and products. In the column in which the characters “waiting time” are displayed, it is possible to input the waiting time value (number) of the own order with respect to the previous order.
  • the constraint condition input setting unit When the registration button 1002 is pressed, 106 stores the content input in the constraint condition input field 1001 in the storage medium.
  • FIG. 11A is a diagram illustrating an example of an initial state of the different lot constraint setting screen 1100.
  • FIG. 11B is a diagram illustrating an example of a different lot constraint setting screen 1100 in which information on different lot constraints is input.
  • the different lot constraint setting screen 1100 is a GUI, and includes a constraint condition input field 1101, a registration button 1102, a same constraint addition button 1103, a next constraint addition button 1104, and a delete button 1105.
  • the lot that passes “process (process name)” in time after the input to the constraint condition input field 1101 is “ A different lot constraint (“constraint name (“ constraint 5- * ”)”) in which the “process (process name)” must pass through the relationship indicated by “previous process connection type” after waiting for “wait time” Can be registered. Details of each column will be described below.
  • the “constraint name” displayed in the constraint condition input field 1101 is identification information for different lot constraints.
  • “Constraint 5-1” is automatically displayed in the first input field of “Constraint Name”. Thereafter, integers are automatically numbered (displayed) in ascending order from the top row in the * part of the word “Constraint 5- *”.
  • integers are automatically numbered (displayed) in ascending order from the top row in the * part of the word “Constraint 5- *”.
  • the columns in which the characters “product type” and “process name” are displayed either “product type” (name) or “process name” registered as described above can be selected and input. It is possible. This selection input can be realized, for example, by performing pull-down menu display.
  • the “process name” cannot be selected and input here unless the “product type” is selected and input.
  • process name In the “process name” input field, only items registered in association with the selected “product type” can be selected and input. Note that “process name” may be selected and input before “product type”. Even in this case, ““ product type ”and“ process name ”” to be selected and input are registered in association with each other.
  • Previous process connection type means that among the two lots that are continuously executed in time in the process entered in the input field of “process name”, the lot in which the process is executed first and the subsequent execution This shows the temporal relationship in the process with the lot to be processed.
  • the “lot executed later” will be referred to as “own lot” as necessary
  • the “lot executed first” will be referred to as “previous lot” as necessary.
  • “(Previous) End (Self) Start” and “(Previous) Start (Self) Start” are preset as “Previous Process Connection Type”. “(Previous) End (Own) Start” means that the last lot of raw material, intermediate product, or product of the previous lot has completed Indicates that “the process entered in the“ process name ”input field” is started for the first raw material / intermediate product / product.
  • (Before) Start (Own) Start means that after the “Process entered in the input field of“ Process name ”” starts for the first raw material / intermediate product / product of the previous lot, Indicates that “the process entered in the“ process name ”input field” is started for the first raw material / intermediate product / product.
  • the column displaying the characters “waiting time” it is possible to input the value (number) of the waiting time of the own lot with respect to the previous lot.
  • the following first to fourth different lot constraints are set as resource usage pattern constraints whose name is “Constraint 5-1”.
  • the type to which the previous lot belongs is “normal operation”
  • the type to which the own lot belongs is “normal operation”
  • “assembly” is performed in the previous lot and the own lot
  • the last lot of the previous lot A different lot constraint indicating that “assembly” of the first raw material / intermediate product of its own lot is started 1.5 [min] after the completion of “assembly” of the raw material / intermediate product is set.
  • the previous lot A different lot constraint is set to indicate that “assembly” of the first raw material / intermediate product of its own lot will start 2.0 [min] after the completion of “assembly” of the last raw material / intermediate product of .
  • the delete button 1105 when the user operates the input device and presses the delete button 1105 in a state where a specific row in “Constraint 5- *” of the constraint condition input field 1101 of the different lot constraint setting screen 1100 is specified, the specified The line is deleted. In addition, in a state where the user operates the input device and designates the area after the second row (“Restriction 5- *”) in the leftmost column of the restriction condition input field 1101 of the different lot restriction setting screen 1100. When the delete button 1105 is pressed, the selection input field (all) of the designated region (“Restriction 5- *”) is deleted.
  • the constraint condition input setting unit When the registration button 1102 is pressed, 106 stores the contents input in the constraint condition input field 1101 in the storage medium.
  • FIG. 12A is a diagram illustrating an example of an initial state of the resource operation constraint setting screen 1200.
  • FIG. 12B is a diagram illustrating an example of a resource operation constraint setting screen 1200 in which resource operation constraint information is input.
  • the resource operation constraint setting screen 1200 is a GUI, and includes a constraint condition input field 1201, a registration button 1202, an add button 1203, and a delete button 1204.
  • the input items (“constraint name”, “resource name”, “start date / time”, “end date / time”, “ability”) of the constraint condition input field 1201 are displayed. Area), the first input field (input field for “Constraint 6-1”), a registration button 1202, an add button 1203, and a delete button 1204 are displayed. In the initial state of the resource operation constraint setting screen 1200, the first input fields are all blank.
  • the “constraint name” displayed in the constraint condition input field 1201 is identification information of resource operation constraints.
  • “Constraint 6-1” is automatically displayed in the first input field of “Constraint Name”. Thereafter, an integer is automatically numbered (displayed) in ascending order from the top row in the * part of the word “Constraint 6- *”.
  • This selection input can be realized, for example, by performing pull-down menu display.
  • “Start date and time” means the timing for starting the limitation of resource capability.
  • a date and time (number) representing this timing can be input as a start date and time in a column in which the characters “start date and time” are displayed.
  • End date and time means the timing to end the limitation of resource capability.
  • a date and time (number) representing this timing can be input as the end date and time in a column displaying the characters “end date and time”.
  • Capability means the capability of the resource during a period when the capability of the resource is limited.
  • a magnification (number) with respect to the maximum ability can be input as the ability.
  • a resource operation constraint is set such that the resource with the resource name “machine 1” must be used with a capacity 0.7 times the maximum capacity.
  • the constraint condition input setting unit When the registration button 1202 is pressed, 106 stores the content input in the constraint condition input field 1201 in the storage medium.
  • the constraint condition input setting unit 106 displays a resource maximum capacity constraint setting screen 1300 shown in FIG. 13 on the display device.
  • FIG. 13A is a diagram illustrating an example of an initial state of the resource maximum capacity constraint setting screen 1300.
  • FIG. 13B is a diagram illustrating an example of a resource maximum capacity constraint setting screen 1300 in which information on the resource maximum capacity constraint is input.
  • the resource maximum capacity constraint setting screen 1300 is a GUI, and includes a constraint condition input field 1301, a registration button 1302, an add button 1303, and a delete button 1304.
  • the initial state of the resource maximum capacity constraint setting screen 1300 includes input items in the constraint condition input field 1301 (areas where characters of “constraint name”, “resource name”, “start date / time”, and “end date / time” are displayed).
  • the first input field (the input field for “Constraint 7-1”), the registration button 1302, the add button 1303, and the delete button 1304 are displayed.
  • the first input fields are all blank.
  • resource name for identifying “resource” belonging to the resource maximum capacity constraint identified by “constraint name (“ constraint 7- * ”)” and “ Input fields for "start date and time” and "end date and time” for use with the maximum resource capacity are provided.
  • Resource maximum capacity constraint indicating a period (a period from “start date and time” to "end date and time") in which "resource (resource name)" can be used with the maximum capacity by input to this constraint condition input field 1301 ("Constraint name (" constraint 7- * ”)) can be registered.
  • the resource maximum capacity restriction (G) uses the maximum capacity. Specifies the resources that can be used and the period of time they can be used at their maximum capacity. Details of each column will be described below.
  • the “constraint name” displayed in the constraint condition input field 1301 is identification information of the resource maximum capacity constraint.
  • “Constraint 7-1” is automatically displayed in the first input field of “Constraint Name”. Thereafter, integers are automatically numbered (displayed) in ascending order from the top row in the * part of the word “Constraint 7- *”.
  • integers are automatically numbered (displayed) in ascending order from the top row in the * part of the word “Constraint 7- *”.
  • any of the “resource names” registered as described above can be selected and input. This selection input can be realized, for example, by performing pull-down menu display.
  • “Start date and time” means the timing to start using the maximum capacity of the resource.
  • a date and time (number) representing this timing can be input as a start date and time in a column in which the characters “start date and time” are displayed.
  • End date and time means the timing of ending use of the maximum capacity of the resource.
  • a date and time (number) representing this timing can be input as the end date and time in a column displaying the characters “end date and time”.
  • the constraint condition input setting is performed.
  • the unit 106 stores the content input in the constraint condition input field 1301 in the storage medium.
  • FIG. 14A is a diagram showing an example of an initial state of the new constraint setting screen 1400.
  • FIG. 14B is a diagram illustrating an example of a new constraint setting screen 1400 in which information on new constraints is input. In FIG.
  • a new constraint setting screen 1400 is a GUI, and includes a variable name list 1401, a constant name list 1402, an operator list 1403, a new registration constraint input field 1404, a registration button 1405, and an add button 1406. , A delete button 1407 and a registration unnecessary button 1408.
  • a “variable name list 1401” for selecting a variable a “constant name list 1402” for selecting a constant, and an operator list 1403 for selecting an operator.
  • a new registration constraint input field 1404 for displaying constraint formulas formulated by selecting them.
  • the variable name list 1401 lists variables constructed by the variable / constant construction unit 105. If all variables are not listed, it is possible to scroll the variables by displaying a scroll bar in the variable name list 1401.
  • constants constructed by the variable / constant construction unit 105 are listed. When all constants are not listed, the constants can be scroll-displayed by displaying a scroll bar in the constant name list 1402.
  • the operator list 1403 lists operators used for formulation according to mathematical programming. When all operators are not listed, it is possible to scroll the operators by displaying a scroll bar in the operator list 1403.
  • a case where mixed integer programming (linear programming) is used as an example of mathematical programming is shown as an example, so that it is used for formulation according to mixed integer programming (linear programming).
  • the operators to be enumerated are listed.
  • the user selects an input device from among variables displayed in the variable name list 1401, constants displayed in the constant name list 1402, and operators displayed in the operator list 1403. Items selected by operation are displayed in order of selection from the left side toward the drawing.
  • a user can input a number by operating the input device. In the example shown in FIG.
  • a constraint condition input setting unit is displayed.
  • the registration button 1405 is pressed, the content entered in the new registration constraint input field 1404 is stored in the storage medium 106.
  • the user operates the input device and presses a registration unnecessary button 1408. By doing in this way, it is possible not to register new constraints.
  • the CPU reads out process information and product order information from the HDD or the like, and also reads out variables and constants from the RAM or the like, so that the resource simultaneous use constraint setting screen 700, the resource usage pattern constraint setting screen 800, resource usage pattern processing time constraint setting screen 900, same lot constraint setting screen 1000, different lot constraint setting screen 1100, resource operation constraint setting screen 1200, resource maximum capacity constraint setting screen 1300, and new constraint setting screen 1400
  • the display data is generated and output to the display device, and the restriction obtained by the information input by the user is stored in the RAM or the like.
  • FIG. 15 is a diagram showing an example of the purpose setting screen 1500.
  • the objective function input setting unit 107 displays the objective setting screen 1500 shown in FIG. 15 on the display device. In the initial state of the purpose setting screen 1500, all of the check boxes shown in FIG. 15 and the columns in the area where the characters of “importance (0 to 10)” are not entered.
  • the objective setting screen 1500 is a GUI and includes an objective function input field 1501 and a registration button 1502.
  • the “function number” displayed in the objective function input field 1501 is identification information of the objective function. Function numbers corresponding to a preset number (number of objective functions) are displayed in the objective function input field 1501 in ascending order from “00001”. “Effective necessity” is information indicating whether or not the objective function in each line of the objective function input field 1501 is adopted. In the present embodiment, by checking a check box, the purpose specified by the information in the row with the check box is adopted. In the column in which the characters “product type” and “process” are displayed, all combinations of product types and processes registered in association with each other as described above are displayed. In the column in which the “purpose” character is displayed, characters indicating what the purpose of the setting target is.
  • the contents of the “purpose” are set in advance based on those registered as initial attributes in the screens 300, 500, 600, 700, 800, 900, 1000, 1100, 1200, and 1300 described above.
  • the “importance” indicates the importance of the purpose of the setting target. In the column displaying the “importance” characters, any integer of “0” to “10” can be input as the importance value. In the case where all the objective information cannot be displayed at once in the objective function input field 1501, scroll display can be performed.
  • the user operates the input device to check the “validity necessity” check box corresponding to the desired purpose, and inputs the importance value in the “importance” column.
  • the objective function input setting unit 107 When the registration button 1502 is pressed, the contents input in the objective function input field 1501 are stored in the storage medium.
  • the purpose is “minimum processing time” of “processing” executed in “normal operation” and “observation of delivery date” of “assembly” executed in “special operation”. The purpose is to be adopted.
  • the objective function input field 1501 of the objective setting screen 1500 is used to use the types and processes associated with each other, the characters indicating the contents of the objective, and the importance of the objective.
  • the contents of the indicated objective function and the selection input field (check box) of the contents are displayed at least. By selecting the information desired by the user from the displayed information, the object to be set is set. The contents are selected. Note that the selection input field is not limited to a check box.
  • the information displayed in the objective function input field 1501 of the objective setting screen 1500 shown in FIG. 15 is a predetermined objective.
  • the objective function input setting unit 107 includes a combination of the “variable and constant” selection field, the operator selection field, and the selected “variable, constant and operator” constructed as described above.
  • a new objective setting screen including a display column for some expressions of the objective function is displayed.
  • FIG. 16A is a diagram showing an example of an initial state of the new purpose setting screen 1600.
  • FIG. 16B is a diagram illustrating an example of a new purpose setting screen 1600 in which new purpose information is input.
  • a new purpose setting screen 1600 is a GUI, and includes a variable name list 1601 corresponding to a variable selection field, a constant name list 1602 corresponding to a constant selection field, and an operation corresponding to an operator selection field. It has a child list 1603, a new registration purpose input field 1604, a registration button 1605, an add button 1606, a delete button 1607, and a registration unnecessary button 1608.
  • the new purpose setting screen 1600 displays the new constraint setting shown in FIG. Since it is the same as the screen 1400, detailed description thereof is omitted here.
  • the objective function input setting unit 107 reads display data for displaying a purpose setting screen 1500 and a new purpose setting screen 1600 by reading out process information from the HDD or the like and reading variables and constants from the RAM or the like. This is realized by generating and outputting to a display device, and storing data indicating the contents of the objective function obtained from information input by the user in a RAM or the like.
  • the formulation unit 108 includes the variables and constants constructed by the variable / constant construction unit 105, the “product type, process, resource and product order” registered in association with each other as described above, and constraint condition input settings.
  • the constraint equation is formulated based on the content of the constraint equation set in the unit 106.
  • ⁇ Start and end constraint formulas> The formulation unit 108 formulates the constraint equation shown in the following equation (1) using the variables constructed by the variable / constant construction unit 105.
  • the constraint equation (1) is a constraint equation (determined from a physical reason) that is different from the content of the constraint equation set by the constraint condition input setting unit 106.
  • the formulation unit 108 uses the variables constructed by the variable / constant construction unit 105 based on the process information registered by the process input registration unit 103 and the product order information registered by the product order input registration unit 104.
  • the constraint equation shown in the following equation (2) is formulated.
  • the formulation unit 108 uses the variables constructed by the variable / constant construction unit 105 based on the process information registered by the process input registration unit 103 and the product order information registered by the product order input registration unit 104.
  • the constraint equation shown in the following equation (3) is formulated.
  • the expression (3) represents the use time or the range of use time of each resource in the same order number and the same process.
  • the formulation unit 108 uses the process information registered by the process input registration unit 103, the product order information registered by the product order input registration unit 104, and the resource simultaneous use constraint setting screen 700 shown in FIG. Based on the contents of the resource simultaneous use restriction set by the input setting unit 106, the constraint expression shown in the following expression (4) is formulated using the variables and constants constructed by the variable / constant construction unit 105. .
  • Equation (4) M is a sufficiently large positive value.
  • a constraint equation similar to equation (4) is formulated for order number 00001,0000N and order number 00002,0000N.
  • the formulation unit 108 uses the process information registered by the process input registration unit 103, the product order information registered by the product order input registration unit 104, and the resource usage pattern constraint setting screen 800 shown in FIG. Based on the content of the resource usage pattern constraint set by the input setting unit 106, the constraint formula shown in the following formula (5) is formulated using the variable constructed by the variable / constant construction unit 105.
  • M is a sufficiently large positive value.
  • ⁇ Constraint expression for resource usage pattern processing time constraint> The formulation unit 108 uses the process information registered by the process input registration unit 103, the product order information registered by the product order input registration unit 104, and the resource usage pattern processing time constraint setting screen 900 shown in FIG. Based on the content of the resource usage pattern processing time constraint set by the constraint condition input setting unit 106, the constraint equation shown in the following equation (6) is formulated using the variables constructed by the variable / constant constructing unit 105. Turn into.
  • M is a sufficiently large positive value.
  • a constraint expression similar to the expression (6) is formulated.
  • the formulation unit 108 inputs constraint conditions using the process information registered by the process input registration unit 103, the product order information registered by the product order input registration unit 104, and the same lot constraint setting screen 1000 shown in FIG.
  • the constraint equation shown in the following equation (7) is formulated using the variable constructed by the variable / constant constructing unit 105.
  • the formulation unit 108 inputs constraint conditions using the process information registered by the process input registration unit 103, the product order information registered by the product order input registration unit 104, and the different lot constraint setting screen 1100 shown in FIG. Based on the contents of the different lot constraint set by the setting unit 106, the constraint equation shown in the following equation (8) is formulated using the variable constructed by the variable / constant constructing unit 105.
  • the formulation unit 108 inputs constraint conditions using the process information registered by the process input registration unit 103, the product order information registered by the product order input registration unit 104, and the resource operation constraint setting screen 1200 shown in FIG. Based on the contents of the resource operation constraint set by the setting unit 106, the constraint equation shown in the following equation (9) is formulated using the variable constructed by the variable / constant constructing unit 105.
  • Equation (9) M is a sufficiently large positive value.
  • a constraint equation similar to equation (9) is formulated for “machine 2”.
  • ⁇ Constraint formula for maximum resource capacity constraint> The formulation unit 108 uses the process information registered by the process input registration unit 103, the product order information registered by the product order input registration unit 104, and the resource maximum capacity constraint setting screen 1300 shown in FIG. Based on the content of the resource maximum capacity constraint set by the input setting unit 106, the constraint expression shown in the following equation (10) is formulated using the variables and constants constructed by the variable / constant construction unit 105. .
  • Equation (10) M is a sufficiently large positive value.
  • the same constraint equation as in equation (10) is formulated for “machine 2”.
  • the constraint equation is formulated as described above.
  • the new constraints are formulated with the contents set using the new constraint setting screen 1400 shown in FIG.
  • the formulation unit 108 includes the variables and constants constructed by the variable / constant construction unit 105, the “product type, process, resource and product order” registered in association with each other as described above,
  • the objective function is formulated based on the objective content set by the function input setting unit 107.
  • An example of the objective function formulated in the present embodiment will be described below.
  • the formulation unit 108 is a variable / constant construction unit based on the content of the objective set by the objective function input setting unit 107 using the objective setting screen 1500 shown in FIG. 15 and the new objective setting screen 1600 shown in FIG. Using the variables and constants constructed in 105, the objective function shown in the following equation (11) is formulated.
  • the CPU reads out process information and product order information from the HDD or the like, and also reads out the contents of variables, constants, constraints and purposes from the RAM or the like, and constructs the above constraint formulas and objective functions. This is realized by storing the data in a RAM or the like.
  • the plan creation unit 109 performs an optimization calculation by, for example, mixed integer programming, and the objective function formulated by the formulation unit 108 within a range that satisfies the constraints based on the constraint formula formulated by the formulation unit 108.
  • a decision variable start time order number, process name, resource name , end time order number, process name, resource name ) that minimizes F is obtained as a production plan.
  • the plan creation unit 109 is realized, for example, when the CPU reads the formulated objective function and constraint equation data from the RAM or the like, obtains a production plan, and stores the result in the RAM or the like.
  • the plan display unit 110 displays the production plan (start time order number, process name, resource name , end time order number, process name, resource name ) obtained by the plan creation unit 109 on the display device.
  • the CPU reads the decision variables (start time order number, process name, resource name , end time order number, process name, resource name ) from the RAM or the like, and displays the display data of the production plan. This is realized by generating and outputting to a display device.
  • the plan management unit 111 manages data of the production plan (start time order number, process name, resource name , end time order number, process name, resource name ) obtained by the plan creation unit 109.
  • the plan management unit 111 stores a set of input information input to the scheduling device 100 by the operator when planning a production plan and planning result information indicating a planning result of the production plan. And retrieve and output them as required (in response to a request from an operator or the like). In this way, for example, it is possible to slightly change the input information used when the previous production plan was drafted and to plan and hold a new production plan again. Also, by realizing this function, it is possible to compare the results of production planning when the conditions (input information) are slightly different.
  • the plan management unit 111 is realized, for example, when the CPU reads production plan data from a RAM or the like and stores the data in an HDD or the like.
  • the plan output unit 112 outputs data of the production plan (start time order number, process name, resource name , end time order number, process name, resource name ) managed by the plan management unit 111. For example, the plan output unit 112 transmits a signal related to the production plan to the external device 120 via the network based on the operation of the input device by the user, or stores the data related to the production plan in a portable storage medium. You can do it.
  • the plan management unit 111 Based on the operation of the input device by the user, necessary from the production plan (start time order number, process name, resource name , end time order number, process name, resource name ) managed by the plan management unit 111 Items (start time order number, process name, resource name , end time order number, process name, resource name ) can be selected. In this case, the plan output unit 112 outputs only the data of the selected production plan among the production plans managed by the plan management unit 111.
  • the plan output unit 112 Display for instructing display of information indicating the contents of the production plan (start time order number, process name, resource name , end time order number, process name, resource name ) on the display device referred to by human resources
  • the instruction signal is transmitted as a signal related to the production plan.
  • an information processing apparatus that performs processing for displaying information indicating the contents of the production plan (start time order number, process name, resource name , end time order number, process name, resource name ) on the display device or the display device. It becomes the external device 120.
  • the display device or the information processing device generates display data for displaying the content of the production plan based on the signal related to the production plan, and displays the display data on the display device.
  • the display device is disposed, for example, in a human resource standby place.
  • the resource specified by the resource name is a human resource such as a worker
  • the human resource such as a worker is based on the display of information indicating the contents of the production plan
  • the end time is specified, the work is started at the start time, and the work is ended at the end time.
  • the resource specified by the resource name is a physical resource that requires the work of a human resource such as a worker
  • the start time and end time of the work for the physical resource on which the work is performed are specified, the work on the physical resource is started at the start time, and the work on the physical resource is finished at the end time.
  • the physical resource follows a production plan based on a signal related to the production plan.
  • the plan output unit 112 outputs the production plan (start time order number, process name, resource name , end time order number). , Process name, resource name ), the control signal for instructing each resource to start the operation at the start time in each process and end the operation at the end time is assigned to the corresponding resource as a signal related to the production plan. Send. In this case, the resource becomes the external device 120. Each resource operates automatically based on the control signal transmitted from the plan output unit 112.
  • the scheduling device when the resource specified by the resource name does not require human resource work and operates automatically, the scheduling device functions as a resource control device that controls the operation of the resource. It has a function. In this case, it is possible to configure a schedule management system having the scheduling device 100 having a function as a resource control device and one or a plurality of resources.
  • the resource specifies the start time and end time of the operation based on the signal (control signal) related to the production plan received from the plan output unit 112, and starts the operation at the start time. Then, the operation is automatically terminated at the end time.
  • a signal related to the production plan transmitted from the plan output unit 112 may be transmitted via the process computer without directly transmitting to the information processing apparatus or resource (physical resource) described above.
  • the external device 120 is a process computer.
  • the plan output unit 112 is realized, for example, when the CPU reads out production plan data from an HDD or the like and outputs the data to the outside of the scheduling apparatus 100 via an interface.
  • step S1701 of FIG. 17A the resource input registration unit 101 displays the resource registration screen 300.
  • step S ⁇ b> 1702 the resource input registration unit 101 determines whether the operation on the resource registration screen 300 is a press of the registration button 302. If the result of this determination is that the operation on the resource registration screen 300 is not a press of the registration button 302, the process returns to step S1701, and the resource input registration unit 101 displays the content displayed on the resource registration screen 300 according to the content of the operation. To change.
  • step S1703 the resource input registration unit 101 stores the content (resource information) input in the resource input field 301 in the storage medium.
  • step S1704 the product type registration unit 102 displays the product type registration screen 400.
  • step S 1705 the product type registration unit 102 determines whether the operation on the product registration screen 400 is a press of the registration button 402. If the result of this determination is that the operation on the product type registration screen 400 is not a press of the registration button 402, the process returns to step S1704, and the product type input registration unit 102 displays the content displayed on the product type registration screen 400 according to the content of the operation. To change.
  • step S1706 the type input registration unit 102 stores the content (type information) input in the type input field 401 in the storage medium.
  • step S1707 the process input registration unit 103 displays a process registration screen 500.
  • step S 1708 the process input registration unit 103 determines whether the operation on the process registration screen 500 is a press of the registration button 402. If the result of this determination is that the operation on the process registration screen 500 is not a press of the registration button 502, the process returns to step S1707, and the process input registration unit 103 displays the display contents of the process registration screen 500 according to the contents of the operation. To change.
  • step S1709 the process input registration unit 103 stores the contents (process information) input in the process input field 501 for each product in the storage medium.
  • step S1710 the product order input registration unit 104 displays the product order registration screen 600 on the display device.
  • step S ⁇ b> 1711 the product order input registration unit 104 determines whether the operation on the product order registration screen 600 is a press of the registration button 602.
  • the process returns to step S1710, and the product order input registration unit 104 determines the product order registration screen 600 according to the content of the operation. Change the display content of.
  • step S1712 the product order input registration unit 104 stores the content (product order information) input in the product order input field 601 in the storage medium.
  • step S1713 of FIG. 17B the variable / constant construction unit 105 uses the process information and product order information to make variables (start time order number, process name, resource name / end time order number, process name). , Resource name , availability order number, process name, resource name , pre- and post-decision order number, order number, process name, resource name ) and constant (usable start date resource name ).
  • step S ⁇ b> 1714 the constraint condition input setting unit 106 displays the resource simultaneous use constraint setting screen 700.
  • step S ⁇ b> 1715 the constraint condition input setting unit 106 determines whether the operation on the resource simultaneous use constraint setting screen 700 is a press of the registration button 702. As a result of this determination, if the operation on the simultaneous resource use restriction setting screen 700 is not the pressing of the registration button 702, the process returns to step S1714, and the restriction condition input setting unit 106 uses the simultaneous resource use according to the content of the operation. The display content of the constraint setting screen 700 is changed.
  • step S 1716 the constraint condition input setting unit 106 stores the content (contents of the simultaneous resource use constraint) input in the constraint condition input field 701 in the storage medium.
  • step S ⁇ b> 1717 the constraint condition input setting unit 106 displays the resource usage pattern constraint setting screen 800.
  • step S ⁇ b> 1718 the constraint condition input setting unit 106 determines whether the operation on the resource usage pattern constraint setting screen 800 is a press of the registration button 802.
  • the process returns to step S1717, and the constraint condition input setting unit 106 determines the resource usage pattern according to the content of the operation.
  • the display content of the constraint setting screen 800 is changed.
  • step S1719 the constraint condition input setting unit 106 stores the content (contents of resource usage pattern constraint) input in the constraint condition input field 801 in the storage medium.
  • step S ⁇ b> 1720 the constraint condition input setting unit 106 displays the resource usage pattern processing time constraint setting screen 900.
  • step S1721 the constraint condition input setting unit 106 determines whether or not the operation on the resource usage pattern processing time constraint setting screen 900 is a press of the registration button 902.
  • step S 1720 the process returns to step S 1720, and the constraint condition input setting unit 106 determines the resource according to the content of the operation.
  • the display content of the usage pattern processing time constraint setting screen 900 is changed.
  • step S 1722 the constraint condition input setting unit 106 stores the content (content of the resource usage pattern processing time constraint) input in the constraint condition input field 901 in the storage medium.
  • step S1723 the constraint condition input setting unit 106 displays the same lot constraint setting screen 1000.
  • step S ⁇ b> 1724 the constraint condition input setting unit 106 determines whether the operation on the same lot constraint setting screen 1000 is a press of the registration button 1002.
  • step S1723 If the result of this determination is that the operation on the same lot constraint setting screen 1000 is not a press of the registration button 1002, the process returns to step S1723, and the constraint condition input setting unit 106 sets the same lot constraint according to the content of the operation. The display content of the screen 1000 is changed.
  • step S1725 the constraint condition input setting unit 106 stores the content (contents of the same lot constraint) input in the constraint condition input field 1001 in the storage medium.
  • step S1726 of FIG. 17C the constraint condition input setting unit 106 displays a different lot constraint setting screen 1100.
  • step S ⁇ b> 1727 the constraint condition input setting unit 106 determines whether the operation on the different lot constraint setting screen 1100 is a press of the registration button 1102.
  • step S 1726 the process returns to step S 1726, and the constraint condition input setting unit 106 sets the different lot constraint setting according to the contents of the operation.
  • the display content of the screen 1100 is changed. If the registration button 1102 is pressed on the different lot constraint setting screen 1100, the process advances to step S1728.
  • step S1728 the constraint condition input setting unit 106 stores the content (contents of the different lot constraint) input in the constraint condition input field 1101 in the storage medium.
  • step S ⁇ b> 1729 the constraint condition input setting unit 106 displays the resource operation constraint setting screen 1200.
  • step S ⁇ b> 1730 the constraint condition input setting unit 106 determines whether the operation on the resource operation constraint setting screen 1200 is a press of the registration button 1202. As a result of this determination, if the operation on the resource operation constraint setting screen 1200 is not the pressing of the registration button 1202, the process returns to step S1729, and the constraint condition input setting unit 106 sets the resource operation constraint setting according to the content of the operation. The display content of the screen 1200 is changed. If the registration button 1202 is pressed on the resource operation constraint setting screen 1200, the process proceeds to step S1731. In step S1731, the constraint condition input setting unit 106 stores the content (contents of resource operation constraint) input in the constraint condition input field 1201 in the storage medium.
  • step S1732 the constraint condition input setting unit 106 displays the resource maximum capacity constraint setting screen 1300.
  • step S 1733 the constraint condition input setting unit 106 determines whether the operation on the resource maximum capacity constraint setting screen 1300 is a press of the registration button 1302. As a result of this determination, if the operation on the resource maximum capacity constraint setting screen 1300 is not pressing the registration button 1302, the process returns to step S1732, and the constraint condition input setting unit 106 determines the resource maximum capacity according to the content of the operation. The display content of the constraint setting screen 1300 is changed. If the registration button 1302 is pressed on the resource maximum capacity constraint setting screen 1300, the process advances to step S1734. In step S1734, the constraint condition input setting unit 106 stores the contents (contents of the resource maximum capacity constraint) input in the constraint condition input field 1301 in the storage medium.
  • step S1735 the constraint condition input setting unit 106 displays a new constraint setting screen 1400.
  • step S ⁇ b> 1736 the constraint condition input setting unit 106 determines whether the operation on the new constraint setting screen 1400 is a press of the registration button 1405. If the result of this determination is that the operation on the new constraint setting screen 1400 is not a press of the registration button 1405, processing proceeds to step S1737.
  • step S1737 the constraint condition input setting unit 106 determines whether the operation on the new constraint setting screen 1400 is a press of the registration unnecessary button 1408.
  • the process returns to step S1735, and the constraint condition input setting unit 106 selects the new constraint setting screen according to the content of the operation.
  • the display content of 1400 is changed.
  • step S1738 the constraint condition input setting unit 106 stores the content (new constraint content (constraint expression)) input in the new registration constraint input field 1404 in the storage medium. Then, the process proceeds to step S1739.
  • step S 1739 the objective function input setting unit 107 displays it on the objective setting screen 1500.
  • step S1740 the objective function input setting unit 107 determines whether the operation on the objective setting screen 1500 is a press of the registration button 1502. If the result of this determination is that the operation on the purpose setting screen 1500 is not a press of the registration button 1502, the process returns to step S1739, and the objective function input setting unit 107 displays the purpose setting screen 1500 according to the contents of the operation. Change the contents. If the registration button 1502 is pressed on the purpose setting screen 1500, the process advances to step S1741. In step S1741, the objective function input setting unit 107 stores the contents of the objective function input field 1501 (the objective contents checked by the “valid necessity” check box) in the storage medium.
  • step S 1742 of FIG. 17D the objective function input setting unit 107 displays a new objective setting screen 1600.
  • step S1743 the objective function input setting unit 107 determines whether or not the operation on the new objective setting screen 1600 is a press of the registration button 1605. If the result of this determination is that the operation on the new purpose setting screen 1600 is not a press of the registration button 1605, processing proceeds to step S 1737.
  • step S1744 the objective function input setting unit 107 determines whether the operation on the new objective setting screen 1600 is a press of the registration unnecessary button 1608.
  • the process returns to step S1742, and the objective function input setting unit 107 determines that the new purpose setting screen is in accordance with the content of the operation.
  • the display content of 1600 is changed.
  • step S1745 the objective function input setting unit 107 stores the contents (new objective contents) input in the new registration purpose input field 1604 in the storage medium. Then, the process proceeds to step S1746.
  • step S1746 the formulation unit 108 registers the variables and constants constructed in step S1713, the process information registered in step S1709 and the product order information registered in step S1712 (registered in association with each other).
  • the constraint equation is formulated based on the information of “product type, process, product order, resource”) and the contents of the constraints set in steps S1716, S1719, S171722, S1725, S1728, S1731, and S1734 ((1 ) Formula to (10))).
  • step S1747 the formulation unit 108 registers the variables and constants constructed in step S1713 and the process information registered in step S1709 and the product order information registered in step S1712 (which are registered in association with each other).
  • the objective function is formulated based on the “product type, process, product order, resource” information and the contents of the objective set in steps S1741 and S1745 (see formula (11)).
  • step S1748 the plan creation unit 109 performs optimization calculation by, for example, mixed integer programming, and is formulated in step S1747 within a range that satisfies the constraints based on the constraint formula formulated in step S1746.
  • the decision variables that minimize the objective function F start time order number, process name, resource name , end time order number, process name, resource name, etc. are obtained.
  • step S1749 the plan management unit 111 stores the production plan data obtained in step S1748.
  • step S1750 the plan display unit 110 displays the production plan obtained in step S1748. And the process by the flowchart of FIG. 17 is complete
  • a purpose setting including these “kind and process” associated with each other, character information indicating the content of the purpose, the content of the purpose described using the importance of the purpose, and a selection input field thereof. Display the screen. Based on the result of the user's selection input on the purpose setting screen, the contents of the purpose are registered. Then, a constraint equation is formulated based on the constructed variables and constants, the information of “kind, process, and resource” associated with each other and the content of the set constraint. Therefore, it is possible to provide a mechanism for planning a variety of production plans using a mathematical programming method for general users who do not have high mathematical expertise. In addition, it is possible to prevent a user from making an erroneous input when planning a production plan using mathematical programming.
  • a new constraint setting screen including a variable and constant selection column constructed and an operator selection column is displayed. Then, based on the result of the user's selection input on the new constraint setting screen, a new constraint equation is formulated. Further, in the present embodiment, a new purpose setting screen including a selection column for constructed variables and constants and a selection column for operators is displayed. Then, the contents of the objective function are added based on the result of the user's selection input on the new constraint setting screen. Therefore, a more general production plan can be drafted using mathematical programming.
  • formulation is realized using easy-to-understand variables such as start time and end time for each product order, process, and resource, so even users who do not have special mathematical knowledge can formulate.
  • the case where the objective function is expressed by a weighted linear sum has been described as an example.
  • the objective function is not limited to a weighted linear sum.
  • “10 ⁇ (end time 0000N, assembly, machine L-1 ⁇ delivery date 0000N )” on the right side of the expression (11) is changed to “10 ⁇ (end time 0000N, assembly, machine L-1 ⁇ delivery date 0000N ) 2 ”.
  • mathematical programming is not limited to mixed integer programming, and may be mixed integer quadratic programming, for example.
  • the case where the objective function is minimized has been described as an example. However, the objective function may be maximized according to the purpose.
  • FIG. 18 is a diagram illustrating an example of a hardware configuration of the scheduling apparatus 100.
  • the scheduling device 100 includes a CPU (Central Processing Unit) 1801, ROM (Read Only Memory) 1802, RAM (Random Access Memory) 1803, PD (Pointing) Device) 1804, HD (Hard Disk) 1805, display device 1806, speaker 1807, communication I / F (Interface) 1808, and system bus 1809.
  • CPU Central Processing Unit
  • ROM Read Only Memory
  • RAM Random Access Memory
  • PD Pointing
  • HD Hard Disk
  • display device 1806 speaker 1807
  • communication I / F Interface
  • system bus 1809 system bus
  • the CPU 1801 controls the operation of the scheduling apparatus 100 as a whole, and controls each component (1802 to 1808) of the scheduling apparatus 100 via the system bus 1809.
  • the ROM 1802 is a BIOS (Basic Input / Output System), an operating system program (OS), a program necessary for the CPU 1801 to execute the processing described above, and the like are stored.
  • BIOS Basic Input / Output System
  • OS operating system program
  • a RAM 1803 functions as a main memory, work area, and the like for the CPU 1801.
  • the CPU 1801 loads various necessary computer programs from the ROM 1802 and necessary information from the HD 1805 into the RAM 1803 and executes various processings by executing the processing such as the computer programs and the information.
  • the PD 1804 includes, for example, a mouse, a keyboard, and the like, and constitutes an operation input unit for an operator to input an operation input to the scheduling apparatus 100 as necessary.
  • the HD 1805 constitutes storage means for storing various information, data, files, and the like.
  • the display device 1806 constitutes display means for displaying various information based on the control of the CPU 1801.
  • the speaker 1807 constitutes an audio output unit that outputs audio related to various types of information based on the control of the CPU 1801.
  • a communication I / F 1808 communicates various information and the like with an external device via a network based on the control of the CPU 1801.
  • a system bus 1809 is a bus for connecting the CPU 1801, the ROM 1802, the RAM 1803, the PD 1804, the HD 1805, the display device 1806, the speaker 1807, and the communication I / F 1808 so that they can communicate with each other.
  • the embodiment of the present invention described above can be realized by a computer executing a program. Further, a computer-readable recording medium in which the program is recorded and a computer program product such as the program can also be applied as an embodiment of the present invention.
  • the recording medium for example, a flexible disk, a hard disk, an optical disk, a magneto-optical disk, a CD-ROM, a magnetic tape, a nonvolatile memory card, a ROM, or the like can be used.
  • the embodiments of the present invention described above are merely examples of implementation in carrying out the present invention, and the technical scope of the present invention should not be construed as being limited thereto. Is. That is, the present invention can be implemented in various forms without departing from the technical idea or the main features thereof.
  • the resource input registration unit 101 executes step S1703
  • the product type input registration unit 102 executes step S1706
  • the process input registration unit 103 executes step S1709.
  • the product order input registration unit 104 executes step S1712 (see also FIG. 2).
  • the construction means (process) is realized, for example, by the variable / constant construction unit 105 executing step S1713.
  • the “start time and end time by order, process, and resource” correspond to, for example, a start time order number, process name, resource name , end time order number, process name, and resource name .
  • the constraint condition input setting unit 106 executes steps S1714, S1716, S1717, S1719, S1720, S1722, S1723, S1725, S1726, steps 1728, S1729, S1731, S1732, and S1734. Is realized. “At least one selection input field for the identification information of the product type, the process, and the resource” corresponds to the constraint condition input fields 701, 801, 901, 1001, 1101, 1201, and 1301, for example.
  • the objective setting means (process) is realized, for example, by the objective function input setting unit 107 executing steps S1739 and S1741.
  • “Selection input field for inputting the identification information of the product type and the process and the purpose by the objective function” corresponds to the objective function input field 1501, for example.
  • the constraint formula formulation means (process) is realized, for example, by the formulation unit 108 executing step S1746.
  • the objective function formulation means (process) is realized, for example, by the formulation unit 108 executing step S1747.
  • the plan creation means (process) is realized, for example, by the plan creation unit 109 executing step S1748.
  • the resource registration screen display means (process) is realized, for example, by the resource input registration unit 101 executing step S1701.
  • “Attribute information of the resource that is set in advance and serving as a constant in at least one of the objective function and the constraint equation” is, for example, “maximum capacity” and “minimum use interval” in FIG. 3A. ”.
  • the resource registration screen display means (process) is realized, for example, when the resource input registration unit 101 executes steps S1701 to S1702.
  • “Input field of attribute information that is a constant in at least one of the objective function and the constraint expression” corresponds to, for example, the input field of “usable start date” in FIG. 3B.
  • the product type registration screen display means (process) is realized, for example, by the product type input registration unit 102 executing step S1704.
  • the process registration screen display means (process) is realized, for example, by the process input registration unit 103 executing step S1707.
  • the registration means (process) is realized, for example, by the process input registration unit 103 executing step S1709.
  • the process registration screen display means (process) is realized, for example, when the process input registration unit 103 executes steps S1707 to S1708.
  • the product order registration screen display means (process) is realized, for example, by the product order input registration unit 104 executing step S1710.
  • the “product type input field on the product order registration screen” corresponds to, for example, the “product type” selection input field on the product order registration screen 600.
  • ⁇ Claims 8 and 22> The product order registration screen display means (process) is realized, for example, by the product order input registration unit 104 executing steps S1710 and S1711.
  • the new constraint setting screen display means (process) is realized, for example, when the constraint condition input setting unit 106 executes Step S1735.
  • the new purpose setting screen display means (process) is realized, for example, when the objective function input setting unit 107 executes step S1745. “Content of purpose based on user's operation for new purpose setting screen displayed by the new purpose setting screen display means” is, for example, a check mark is put in the “valid / necessary” check box in the objective function input field 1501. Corresponds to what is shown in the line.
  • the plan output means (process) is realized, for example, when the plan output unit 112 transmits a signal related to the production plan to the external device 120.
  • the present invention can be applied to uses for production or logistics.

Landscapes

  • Business, Economics & Management (AREA)
  • Engineering & Computer Science (AREA)
  • Human Resources & Organizations (AREA)
  • Strategic Management (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Economics (AREA)
  • Quality & Reliability (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • Tourism & Hospitality (AREA)
  • Marketing (AREA)
  • Operations Research (AREA)
  • Theoretical Computer Science (AREA)
  • Biodiversity & Conservation Biology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Development Economics (AREA)
  • Educational Administration (AREA)
  • Game Theory and Decision Science (AREA)
  • Automation & Control Theory (AREA)
  • Manufacturing & Machinery (AREA)
  • General Engineering & Computer Science (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • General Factory Administration (AREA)

Abstract

 リソース、品種、工程および製品オーダを相互に関連付けて登録する。品種、工程、およびリソースの情報から、目的関数と制約式を定式化する際に使用する変数と定数を構築する。品種、工程、およびリソースの識別情報の選択入力欄を用いて表記した制約式の内容を含む制約設定画面を表示する。制約設定画面に対する選択入力の結果に基づいて、制約の内容を設定する。また、品種および工程と、目的の内容を示す文字情報とを用いて記述した目的の内容と、その選択入力欄とを含む目的設定画面を表示する。この目的設定画面に対する選択入力の結果に基づいて、目的の内容を登録する。そして、構築した変数および定数と、品種、工程、およびリソースの情報と、設定した制約・目的関数の内容とに基づいて制約式・目的関数を定式化する。

Description

スケジューリング装置、スケジューリング方法およびコンピュータプログラム
 本発明は、スケジューリング装置、スケジューリング方法およびコンピュータプログラムに関し、特に、生産計画または物流計画を数理計画法により自動的に立案するために用いて好適なものである。
 製造業では、様々な工程で様々なリソースを用いて、原料から製品を製造することや、部品を組み立てて製品を作ること等が行われている。これらのリソースを有効に利用したり、在庫量を適正に調整したりするためには、生産計画、或いは物流計画を作成し、それに則った作業をすることが必須である。このことは、製造業のみならず、流通業等においても同様である。
 しかしながら、製品の製造、或いは物流を行う現場では、多数の原材料、中間製品、製品が存在し、且つ、それらの加工や搬送等を行うためのリソースが複雑に関連し合っている。このため、考慮しなければならない制約が複雑になる。よって、例えば、在庫を適正に保ったり、納期に遅れずに製品を生産したりする生産計画、或いは物流計画を作成することは容易なことではない。
 このような課題を解決する技術として、従来、人の考えた或るルール(例えば、納期の近い製品からまず製造を開始するというルール)をプログラムに書き換えて、自動で生産計画、或いは物流計画を作成するスケジューリング装置が開発されてきた。
 このようなルールベースのスケジューリング装置では、複雑な問題であっても何かしらの計画を高速に立案することができる。しかしながら、数学的に本当に最適な計画が立案されているのかについて裏付けがないという問題や、ルールが非常に膨大になるという問題等がある。
 そして、このようなルールベースのスケジューリング装置として、特許文献1に記載の技術がある。特許文献1には、各工程をリソースに仮割付けし、仮割付した結果から得られる一連の工程の終了時期と予定終了時期との差に応じた第1の尺度と、仮割付けしたリソースと工程との適合性を数値化した第2の尺度とを求めて、最良の割付け結果になるまで仮割付けを繰り返し修正する技術が開示されている。このように、特許文献1に記載の技術では、予め定めた尺度を元に、リソースに必要な工程を割りつける修正を繰り返す。このため、数学的に本当に最適な計画ができていることが保証されない。
 そこで、これらを数学的に解決する手法として、数理計画法を用いて生産計画、或いは物流計画を作成するスケジューリング装置が開発されている。
 数理計画法を使用すれば、数学的に最適性が保障された生産計画、或いは物流計画を立案することが可能である。しかしながら、この手法に則って生産計画、或いは物流計画を立案するためには、立案者が高度な数学的専門知識を有している必要がある。よって、一般の生産・物流を計画するユーザが、このような数理計画法を用いて生産計画、或いは物流計画を作成するスケジューリング装置を扱うことが困難な場合が多かった。
 このため、高度な数学的専門知識を有しない一般のユーザであっても、生産計画、或いは物流計画を数理計画法に則った形で簡単に立案することができる仕組みの構築が求められている。
 このような数理計画法を用いたスケジューリング装置として、特許文献2に記載の技術がある。特許文献2には、数理計画法により最適化計算を行って生産計画を立案した後に、当該生産計画における原材料と生産物との量的関係比を固定化した上で、原材料または生産物の量をGUI(Graphical User Interface)を用いて修正し、修正後の量と前記量的関係比により生産計画を再度立案することで、立案結果が大きく変更しない検証を可能とすることが開示されている。
 しかしながら、特許文献2に記載の技術では、特定業務に特化された生産計画しか立案することができない。このため、特許文献2に記載の技術では、汎用的な生産計画、或いは物流計画を立案することができない。
 数理計画法を用いて、数学的な手法に則って、汎用的な生産計画、或いは物流計画を立案する技術として、Paragon Decision Technology B.V.社によって開発されたAIMMSがある。かかる技術では、GUIを用いて数理計画用の変数をユーザが定義し、定義された変数を用いて目的関数および制約式を定式化することができる。
 しかしながら、かかる技術では、数理計画法で使用する変数を、ユーザ自身が1つずつ入力し、制約式もユーザが1つずつ数式として記述していく必要がある。このため、数学的専門知識をもたない一般のユーザがかかる技術を簡単に使いこなすことはできない。
特開平8-212264号公報 特開2000-254839号公報
 以上のように従来の技術では、高度な数学的専門知識をもたない一般のユーザに対して、汎用的な生産計画、或いは物流計画を、数理計画法を用いて立案する仕組みを提供することが困難であった。
 そこで、本発明は、高度な数学的専門知識をもたない一般のユーザに対して、従来よりも多様な生産計画、或いは物流計画を、数理計画法を用いて立案する仕組みを提供することを目的とする。
 本発明のスケジューリング装置は、製品の注文の内容を示す製品オーダと、前記製品の生産または物流の過程で実行される処理である工程と、前記工程で使用される人的資源および物的資源であるリソースと、前記製品の生産または物流の過程で実行される各工程と、当該各工程の実行順と、当該各工程のそれぞれで使用されるリソースと、が同じである注文を1つのまとまりとして他と区別するための識別情報である品種と、のそれぞれの情報を用いて、生産計画または物流計画を数理計画法により自動的に立案するスケジューリング装置であって、前記リソースと前記工程、前記工程と前記品種、および前記品種と前記製品オーダを、それぞれ相互に関連付けて記憶媒体に登録する登録手段と、前記登録手段により相互に関連付けられた、前記品種、前記工程、前記リソース、および前記製品オーダに基づいて、目的関数と制約式を前記数理計画法に則って定式化する際に使用する決定変数として、製品オーダ別・工程別・リソース別の開始時刻および終了時刻を含む変数を構築する構築手段と、前記登録手段により相互に関連付けられた、前記品種、前記工程、および前記リソースの識別情報の少なくとも1つを入力するための選択入力欄へのユーザの前記識別情報の入力操作に基づいて、前記制約式の内容を設定する制約設定手段と、前記登録手段により相互に関連付けられた、前記品種および前記工程の識別情報と、前記目的関数による目的とを入力するための選択入力欄へのユーザの前記識別情報と前記目的との入力操作に基づいて、前記目的関数の内容を設定する目的設定手段と、前記登録手段により相互に関連付けられた、前記品種、前記工程、前記リソース、および前記製品オーダと、前記制約設定手段により設定された制約式の内容と、に基づいて、前記構築手段により構築された変数を用いて、前記制約式を定式化する制約式定式化手段と、前記登録手段により相互に関連付けられた、前記品種、前記工程、前記リソース、および前記製品オーダと、前記目的設定手段により設定された目的関数の内容と、に基づいて、前記構築手段により構築された変数を用いて、前記目的関数を定式化する目的関数定式化手段と、前記制約式定式化手段により定式化された制約式に基づく制約を満足する範囲で、前記目的関数定式化手段により定式化された目的関数を最大または最小にする前記決定変数を、前記数理計画法による最適化計算を行うことにより導出する計画作成手段と、を有することを特徴とする。
 本発明のスケジューリング方法は、製品の注文の内容を示す製品オーダと、前記製品の生産または物流の過程で実行される処理である工程と、前記工程で使用される人的資源および物的資源であるリソースと、前記製品の生産または物流の過程で実行される各工程と、当該各工程の実行順と、当該各工程のそれぞれで使用されるリソースと、が同じである注文を1つのまとまりとして他と区別するための識別情報である品種と、のそれぞれの情報を用いて、生産計画または物流計画を数理計画法によりコンピュータで自動的に立案するスケジューリング方法であって、前記リソースと前記工程、前記工程と前記品種、および前記品種と前記製品オーダを、それぞれ相互に関連付けて記憶媒体に登録する登録工程と、前記登録工程により相互に関連付けられた、前記品種、前記工程、前記リソース、および前記製品オーダに基づいて、目的関数と制約式を前記数理計画法に則って定式化する際に使用する決定変数として、製品オーダ別・工程別・リソース別の開始時刻および終了時刻を含む変数を構築する構築工程と、前記登録工程により相互に関連付けられた、前記品種、前記工程、および前記リソースの識別情報の少なくとも1つを入力するための選択入力欄へのユーザの前記識別情報の入力操作に基づいて、前記制約式の内容を設定する制約設定工程と、前記登録工程により相互に関連付けられた、前記品種および前記工程の識別情報と、前記目的関数による目的とを入力するための選択入力欄へのユーザの前記識別情報と前記目的との入力操作に基づいて、前記目的関数の内容を設定する目的設定工程と、前記登録工程により相互に関連付けられた、前記品種、前記工程、前記リソース、および前記製品オーダと、前記制約設定工程により設定された制約式の内容と、に基づいて、前記構築工程により構築された変数を用いて、前記制約式を定式化する制約式定式化工程と、前記登録工程により相互に関連付けられた、前記品種、前記工程、前記リソース、および前記製品オーダと、前記目的設定工程により設定された目的関数の内容と、に基づいて、前記構築工程により構築された変数を用いて、前記目的関数を定式化する目的関数定式化工程と、前記制約式定式化工程により定式化された制約式に基づく制約を満足する範囲で、前記目的関数定式化工程により定式化された目的関数を最大または最小にする前記変数を、前記数理計画法による最適化計算を行うことにより導出する計画作成工程と、を有することを特徴とする。
 本発明のコンピュータプログラムは、製品の注文の内容を示す製品オーダと、前記製品の生産または物流の過程で実行される処理である工程と、前記工程で使用される人的資源および物的資源であるリソースと、前記製品の生産または物流の過程で実行される各工程と、当該各工程の実行順と、当該各工程のそれぞれで使用されるリソースと、が同じである注文を1つのまとまりとして他と区別するための識別情報である品種と、のそれぞれの情報を用いて、生産計画または物流計画を数理計画法により自動的に立案することをコンピュータに実行させるためのコンピュータプログラムであって、前記リソースと前記工程、前記工程と前記品種、および前記品種と前記製品オーダを、それぞれ相互に関連付けて記憶媒体に登録する登録工程と、前記登録工程により相互に関連付けられた、前記品種、前記工程、前記リソース、および前記製品オーダに基づいて、目的関数と制約式を前記数理計画法に則って定式化する際に使用する決定変数として、製品オーダ別・工程別・リソース別の開始時刻および終了時刻を含む変数を構築する構築工程と、前記登録工程により相互に関連付けられた、前記品種、前記工程、および前記リソースの識別情報の少なくとも1つを入力するための選択入力欄へのユーザの前記識別情報の入力操作に基づいて、前記制約式の内容を設定する制約設定工程と、前記登録工程により相互に関連付けられた、前記品種および前記工程の識別情報と、前記目的関数による目的とを入力するための選択入力欄へのユーザの前記識別情報と前記目的との入力操作に基づいて、前記目的関数の内容を設定する目的設定工程と、前記登録工程により相互に関連付けられた、前記品種、前記工程、前記リソース、および前記製品オーダと、前記制約設定工程により設定された制約式の内容と、に基づいて、前記構築工程により構築された変数を用いて、前記制約式を定式化する制約式定式化工程と、前記登録工程により相互に関連付けられた、前記品種、前記工程、前記リソース、および前記製品オーダと、前記目的設定工程により設定された目的関数の内容と、に基づいて、前記構築工程により構築された変数を用いて、前記目的関数を定式化する目的関数定式化工程と、前記制約式定式化工程により定式化された制約式に基づく制約を満足する範囲で、前記目的関数定式化工程により定式化された目的関数を最大または最小にする前記変数を、前記数理計画法による最適化計算を行うことにより導出する計画作成工程と、をコンピュータに実行させることを特徴とする。
 本発明によれば、工程を介して、リソースと工程、工程と品種、および品種と製品オーダをそれぞれ相互に関連付けて登録する。そして、品種、工程、およびリソースの識別情報の少なくとも1つを入力するための選択入力欄への識別情報の入力操作に基づいて制約式の内容を設定する。また、品種および工程の識別情報と、目的関数による目的とを入力するための選択入力欄への識別情報と目的の入力操作に基づいて、目的関数の内容を設定する。したがって、高度な数学的専門知識をもたない一般のユーザに対して、従来よりも多様な生産計画、或いは物流計画を、数理計画法を用いて立案する仕組みを提供することができる。
図1は、スケジューリング装置の機能的な構成の一例を示す図である。 図2は、リソースと、品種と、工程と、製品オーダのそれぞれの情報の関係の一例を概念的に示す図である。 図3Aは、リソース登録画面の初期状態の一例を示す図である。 図3Bは、リソースの初期の属性が入力されたリソース登録画面の一例を示す図である。 図3Cは、リソースの初期の属性とユーザにより追加された属性とが入力されたリソース登録画面の一例を示す図である。 図4Aは、品種登録画面の初期状態の一例を示す図である。 図4Bは、品種情報が入力された品種登録画面の一例を示す図である。 図5Aは、工程登録画面の初期状態の一例を示す図である。 図5Bは、名称が「通常操業」である品種で実行される工程に係る工程情報が入力された工程登録画面の一例を示す図である。 図5Cは、名称が「特殊操業1」である品種で実行される工程に係る工程情報が入力された工程登録画面である。 図6Aは、製品オーダ登録画面の初期状態の一例を示す図である。 図6Bは、製品オーダ情報が入力された製品オーダ登録画面の一例を示す図である。 図7Aは、リソース同時利用制約設定画面の初期状態の一例を示す図である。 図7Bは、リソース同時利用制約の情報が入力されたリソース同時利用制約設定画面の一例を示す図である。 図8Aは、リソース利用パターン制約設定画面の初期状態の一例を示す図である。 図8Bは、リソース利用パターン制約の情報が入力されたリソース利用パターン制約設定画面の一例を示す図である。 図9Aは、リソース利用パターン処理時間制約設定画面の初期状態の一例を示す図である。 図9Bは、リソース利用パターン制約の情報が入力されたリソース利用パターン処理時間制約設定画面の一例を示す図である。 図10Aは、同一ロット制約設定画面の初期状態の一例を示す図である。 図10Bは、同一ロット制約の情報が入力された同一ロット制約設定画面の一例を示す図である。 図11Aは、異ロット制約設定画面の初期状態の一例を示す図である。 図11Bは、異ロット制約の情報が入力された異ロット制約設定画面の一例を示す図である。 図12Aは、リソース稼働制約設定画面の初期状態の一例を示す図である。 図12Bは、リソース稼働制約の情報が入力されたリソース稼働制約設定画面の一例を示す図である。 図13Aは、リソース最大能力制約設定画面の初期状態の一例を示す図である。 図13Bは、リソース最大能力制約の情報が入力されたリソース最大能力制約設定画面の一例を示す図である。 図14Aは、新規制約設定画面の初期状態の一例を示す図である。 図14Bは、新規制約の情報が入力された新規制約設定画面の一例を示す図である。 図15は、目的設定画面の一例を示す図である。 図16Aは、新規目的設定画面の初期状態の一例を示す図である。 図16Bは、新規目的の情報が入力された新規目的設定画面の一例を示す図である。 図17Aは、スケジューリング装置の処理動作の一例を説明するフローチャートである。 図17Bは、図17Aに続くフローチャートである。 図17Cは、図17Bに続くフローチャートである。 図17Dは、図17Cに続くフローチャートである。 図18は、スケジューリング装置のハードウェアの構成の一例を示す図である。
 以下、図面を参照しながら、本発明の一実施形態を説明する。
 図1は、スケジューリング装置100の機能的な構成の一例を示す図である。尚、図1に示すスケジューリング装置100は、例えば、CPU、ROM、RAM、HDDおよび各種のインターフェースを備えた情報処理装置を用いることにより実現することができる。
 本実施形態のスケジューリング装置100は、ユーザによる入力装置の操作に基づいて入力された情報を用いて、目的関数および制約式を設定し、数理計画法を用いて目的関数の最適値を算出し、算出した結果から、生産計画を立案し、その結果をユーザに提示するものである。特に、本実施形態では、目的関数および制約式の設定に必要な情報を、高度な数学的専門知識をもたない一般のユーザであっても入力することができるようにする。
 スケジューリング装置100が有する機能を説明する前に、以下の説明で表記する「リソース、品種、工程、製品オーダ」の概要について説明する。
 図2は、リソースと、品種と、工程と、製品オーダのそれぞれの情報の関係の一例を概念的に示す図である。
 本実施形態では、リソースと、品種と、工程と、製品オーダとが、ユーザによる入力装置の操作に基づいてスケジューリング装置100に入力され、登録される。
 リソースとは、製品の生産や物流を行うための各工程で使用される人的資源および物的資源の総称であり、目的関数および制約式の少なくとも何れか一方で「定数」となる情報が、その属性として含まれる(図3の「最大能力」、「最小利用間隔」、「使用可能開始日」を参照)。物的資源は、例えば、加工や搬送等を行う機械・設備や、原材料・中間製品・製品の置場であり、生産計画や物流計画の分野で一般的に扱われるあらゆる物的資源を含む。人的資源は、例えば、作業員であり、生産計画や物流計画の分野で一般的に扱われるあらゆる人的資源を含む。
 品種とは、製品オーダ(注文)に含まれる製品の生産または物流の過程で実行される各工程と、当該各工程の実行順と、当該各工程のそれぞれで使用されるリソースとを1つのまとまりとして他と区別するための識別情報である(図4、図5を参照)。製品オーダは、この品種の何れかに属することになる(図6を参照)。
 本実施形態では、後述するように、各工程で使用されるリソースが登録され(図5を参照)、各品種で実行される工程が登録され(図5を参照)、製品オーダに対して品種が登録される(図6を参照)。よって、図2に示すように、リソースと工程、工程と品種、および品種と製品オーダがそれぞれ相互に関連付けられる。すなわち、リソース、品種、工程および製品オーダは、相互に関連付けられて登録される。リソース、品種、工程および製品オーダの入力・登録方法の一例の詳細については、図3~図6を参照しながら後述する。
 以下に、スケジューリング装置100が有する機能の一例を詳細に説明する。
(リソース入力登録部101)
 リソース入力登録部101は、まず、リソース登録画面を表示装置に表示する。
 図3は、リソース登録画面300の一例を示す図である。具体的に、図3Aは、リソース登録画面300の初期状態の一例を示す図である。図3Bは、リソースの初期の属性(予め設定された属性)が入力されたリソース登録画面300の一例を示す図である。図3Cは、リソースの初期の属性とユーザにより新規に追加された属性とが入力されたリソース登録画面300の一例を示す図である。
 図3において、リソース登録画面300は、GUIであり、リソース入力欄301と、登録ボタン302と、追加ボタン303と、削除ボタン304とを有する。
 リソース登録画面300は、リソースを識別するリソース名と、そのリソース名で識別されるリソースの属性とを登録するための画面である。
 図3Aおよび図3Bに示すように、本実施形態では、リソースの初期の属性は、「リソース名」と、「最大能力」と、「最小利用間隔」である。
 「リソース名」は、登録対象のリソースの名称を意味する。本実施形態では、例えば、「リソース名」の文字が表示されている列に、リソース名をテキスト入力することが可能となっている。
 「最大能力」は、登録対象のリソースの最大能力を意味する。本実施形態では、例えば、「最大能力」の文字が表示されている列に、リソースが単位時間当たりに処理できる個数[個/min]の値(数字)を、最大能力として入力することが可能となっている。
 「最小利用間隔」は、登録対象のリソースの使用が終了した後に確保しなければならない時間を意味する。本実施形態では、例えば、「最小利用間隔」の文字が表示されている列に、この時間[min]の値(数字)を、最小利用間隔として入力することが可能となっている。
 図3Cに示すリソース登録画面300の2行目では、「リソース名」が「機械1」であり、「最大能力」が「1[個/min]」であり、「最小利用間隔」が「0.3[min]」であり、「使用可能開始日」が「2011年12月10日」であることを示すリソース情報が入力された状態を示している。
 ユーザが、入力装置を操作して、リソース登録画面300のリソース入力欄301の特定の行または列を指定した状態で追加ボタン303を押下すると、指定した行または列の次の行または列が追加される。
 例えば、図3Bに示すリソース入力欄301の「最小利用間隔」が示されている列を指定した状態で追加ボタン303が押下されると、「最小利用間隔」が示されている列の次に空欄の列が1列追加される。図3Cに示すリソース登録画面300では、この列に、リソースの属性として、「使用可能開始日」が追加された状態を示している。
 「使用可能開始日」とは、登録対象のリソースを使用することが可能になる最初の年月日を意味する。本実施形態のリソース登録画面300では、例えば、「使用可能開始日」の文字が表示されている列に、この年月日の値(数字)を、使用可能開始日として入力することが可能となっている(図3Cを参照)。
 また、「リソース名」、「最大能力」が示されている列を指定した状態で追加ボタン303が押下されると、それぞれ「リソース名」と「最大能力」との間、「最大能力」と「最小利用間隔」との間に空欄の列が1列追加される。
 以上のようにすることにより、リソースの属性を追加することができる。
 また、「機械1」が示されている行を指定した状態で追加ボタン303が押下されると、「機械1」と「機械2」との間に空欄の行が1列追加される。同様に、「機械L」が示されている行を指定した状態で追加ボタン303が押下されると、「機械L」が示されている行の次に空欄の行が1行追加される。このようにすることにより、リソース(の項目)を追加することができる。
 また、ユーザが、入力装置を操作して、リソース登録画面300のリソース入力欄301の特定の行または列を指定した状態で削除ボタン304を押下すると、指定した行または列が削除される。
 例えば、図3Cに示すリソース入力欄301の「使用可能開始日」が示されている列を指定した状態で削除ボタン304が押下されると、「使用可能開始日」が示されている列が削除される。このようにすることにより、リソースの属性を削除することができる。ただし、本実施形態では、初期の属性(「最大能力」および「最小利用間隔」)については削除することができないようにしている。尚、初期の属性を削除することができるようにしてもよいということは勿論である。
 また、例えば、図3Cに示すリソース入力欄301の「機械L」が示されている行を指定した状態で削除ボタン304が押下されると、「機械L」が示されている行が削除される。このようにすることにより、リソース(の項目)を削除することができる。ただし、本実施形態では、初期状態で表示される入力欄(図3Aの空欄)については削除することができないようにしている。
 以上のようにして、リソース登録画面300のリソース入力欄301に対する入力操作が終了し、ユーザが、入力装置を操作することにより、登録ボタン302が押下されると、リソース入力登録部101は、登録ボタン302が押下されたときに、リソース入力欄301に入力されている内容を記憶媒体に記憶する。
 このようにして登録されたリソースの属性である「最大能力」および「最小利用間隔」は、後述する制約式における定数として自動的に設定される((4)式、(10)式を参照)。また、「使用可能開始日」は、後述する目的関数における定数として自動的に設定されるものである((11)式を参照)。
 リソース入力登録部101は、例えば、CPUが、ユーザによる入力操作の内容に応じたリソース登録画面300を表示するための表示データを生成して、表示装置に出力すると共に、リソース情報をHDD等に記憶することにより実現される。
(品種入力登録部102)
 品種入力登録部102は、まず、品種登録画面を表示装置に表示する。
 図4は、品種登録画面400の一例を示す図である。具体的に図4Aは、品種登録画面400の初期状態の一例を示す図である。図4Bは、品種情報が入力された品種登録画面400の一例を示す図である。
 図4において、品種登録画面400は、GUIであり、品種入力欄401と、登録ボタン402と、追加ボタン403と、削除ボタン404とを有する。
 品種登録画面400は、品種の名称を登録するための画面である。図4Bでは、「品種」の名称として、「通常操業」、「特殊操業1」、・・・「特殊操業M」が入力された状態を示している。
 本実施形態の品種登録画面400では、例えば、「品種」の文字が表示されている列に、品種の名称をテキスト入力することが可能となっている。
 ユーザが、入力装置を操作して、品種登録画面400の品種入力欄401の特定の行を指定した状態で追加ボタン403を押下すると、指定された行の次の行に空欄の行が1行追加される。このようにすることにより、品種を追加することができる。
 また、ユーザが、入力装置を操作して、品種登録画面400の品種入力欄401の特定の行を指定した状態で削除ボタン404を押下すると、指定された行が1行削除される。このようにすることにより、品種を削除することができる。
 以上のようにして、品種登録画面400の品種入力欄401に対する入力操作が終了し、ユーザが、入力装置を操作することにより、登録ボタン302が押下されると、品種入力登録部102は、登録ボタン402が押下されたときに、品種入力欄401に入力されている内容を記憶媒体に記憶する。尚、この時点では、品種情報は、他の情報と相互に関連付けられていない。
 品種入力登録部102は、例えば、CPUが、ユーザによる入力操作の内容に応じた品種登録画面400を表示するための表示データを生成して、表示装置に出力すると共に、品種情報をHDD等に記憶することにより実現される。
(工程入力登録部103)
 工程入力登録部103は、まず、工程登録画面を表示装置に表示する。
 図5は、工程登録画面500の一例を示す図である。具体的に、図5Aは、工程登録画面500の初期状態の一例を示す図である。図5Bは、名称が「通常操業」である品種で実行される工程に係る工程情報が入力された工程登録画面500の一例を示す図である。図5Cは、名称が「特殊操業1」である品種で実行される工程に係る工程情報が入力された工程登録画面500である。
 図5において、工程登録画面500は、GUIであり、工程入力欄501と、登録ボタン502と、追加ボタン503と、削除ボタン504とを有する。
 工程登録画面500は、工程の属性を品種毎に登録するための画面である。
 本実施形態の工程登録画面500では、品種入力登録部102で登録された「品種」の名称が、各工程登録画面500のタブに表示されるようにしている。図5A~図5Cの工程登録画面500に表示されているタブのうち、ハッチングされていないタブに対する入力操作が有効となる。例えば、ユーザが入力装置を操作して、図5A、図5Bに示す工程登録画面500の「『特殊操業1』の文字が示されているタブ」を押下すると、図5Cに示す工程登録画面500が表示される。そして、本実施形態では、それぞれの工程登録画面500に、以下のようにして工程情報を入力し登録することにより、各品種で実行される工程に係る工程情報が登録されようにしている。工程登録画面500の内容を以下に説明する。
 図5A~図5Cに示すように、本実施形態では、工程の初期の属性は、「処理順」と、「工程名」と、「最小時間」と、「最大時間」と、「『機械1』、『機械2』、・・・『機械L-1』、『機械L』」である。
 「工程順」は、登録対象の工程が属する品種における当該工程の実行順を意味する。本実施形態では、「工程順」の最初の入力欄には「1」が自動的に表示される。以降、上の行から順番に整数が昇順に自動的に採番(表示)される。
 「工程名」は、登録対象の工程の名称を意味する。本実施形態では、例えば、「工程名」の文字が表示されている列に、工程名をテキスト入力することが可能となっている。
 「最小時間」は、登録対象の工程に、原材料、中間製品および製品が留まることができる時間の最小値[hour]を示す。本実施形態では、例えば、「最小時間」の文字が表示されている列に、この値(数字)を最小時間として入力することが可能となっている。
 「最大時間」は、登録対象の工程に、原材料、中間製品および製品が留まることができる時間の最大値[hour]を示す。本実施形態では、例えば、「最大時間」の文字が表示されている列に、この値(数字)を最大時間として入力することが可能となっている。
 「『機械1』、『機械2』、・・・『機械L-1』、『機械L』」は、リソース入力登録部101により登録されたリソース名を示す(図3を参照)。本実施形態では、例えば、「『機械1』、『機械2』、・・・『機械L-1』、『機械L』」の文字が表示されている列に、「主」、「副」または「空欄」の何れかを選択入力することが可能となっている。この選択入力は、例えば、プルダウンメニュー表示を行うことにより実現することができる。ここで、「主」とは、登録対象の工程で使用される主要なリソースを示す。「副」とは、登録対象の工程で使用される副次的なリソースを示す。「空欄」は、登録対象の工程では、当該空欄となっている「リソース名(「機械1」、「機械2」、・・・「機械L-1」、「機械L」)」のリソースは使用されないことを示す。
 図5Cに示す工程登録画面500の最下行では、名称が「特殊操業1」の品種で使用される工程のうち「工程順」が「P」番目である工程の「工程名」は「組立」であり、当該工程の「最小時間」は「1.0[hour]」であり、当該工程の「最大時間」は「1.2[hour]」であることを示し、且つ、当該工程で使用されるリソースは「機械L-1」と「機械L」であり、「機械L-1」が主要なリソースとして使用され、「機械L」が副次的なリソースとして使用されることを示す工程情報が入力された状態を示す。
 ユーザが、入力装置を操作して、工程登録画面500の工程入力欄501の特定の行または列を指定した状態で追加ボタン503を押下すると、指定した行または列の次の行または列が追加される。これにより、工程の属性の追加や工程の数の追加を行うことができる。
 また、ユーザが、入力装置を操作して、工程登録画面500の工程入力欄501の特定の行または列を指定した状態で削除ボタン504を押下すると、指定した行または列が削除される。これにより、工程の属性の削除や工程の数の削除を行うことができる。ただし、本実施形態では、初期の属性とリソースの入力欄(リソース名(「機械1」、「機械2」、・・・「機械L-1」、「機械L」)の欄)については削除することができないようにしている。初期の属性を削除することができるようにしてもよいということは勿論である。
 尚、これらの行または列の追加および削除の方法は、図3に示したリソース登録画面300で説明した方法と同じであるので、ここではその詳細な説明を省略する。
 以上のようにして、工程登録画面500の全ての品種について、工程入力欄501に対する入力操作が終了し、ユーザが、入力装置を操作することにより、登録ボタン502が押下されると、工程入力登録部103は、登録ボタン502が押下されたときに、各品種について工程入力欄501に入力されている内容を記憶媒体に記憶する。例えば、工程入力登録部103は、工程入力欄501の各行に登録されている「『工程順』、『処理量』、『最小時間』、『最大時間』および『リソース(機械1、機械2、・・・機械L)』」を相互に関連付けた情報を製品オーダ情報として記憶する。
 以上のように、この工程登録画面500を用いることにより、工程を介して品種とリソースとが相互に関連付けられることになる(図2を参照)。
 工程入力登録部103は、例えば、CPUが、ユーザによる入力操作の内容に応じた工程登録画面500を表示するための表示データを生成して表示装置に出力すると共に、工程情報をHDD等に記憶することにより実現される。
(製品オーダ入力登録部104)
 製品オーダ入力登録部104は、まず、製品オーダ登録画面を表示装置に表示する。
 図6は、製品オーダ登録画面600の一例を示す図である。具体的に図6Aは、製品オーダ登録画面600の初期状態の一例を示す図である。図6Bは、製品オーダ情報が入力された製品オーダ登録画面600の一例を示す図である。
 図6において、製品オーダ登録画面600は、GUIであり、製品オーダ入力欄601と、登録ボタン602と、追加ボタン603と、削除ボタン604とを有する。
 製品オーダ登録画面600は、各製品オーダの属性を登録するための画面である。
 図6に示すように、本実施形態では、製品オーダの初期の属性は、「オーダ番号」、「名称」、「ロット」、「品種」、「納期」および「納期遅れ許容量」である。
 「オーダ番号」は、登録対象の製品オーダの識別番号である。本実施形態では、製品オーダ入力欄601の「オーダ番号」の最初の入力欄には「00001」が自動的に表示される。以降、上の行から順番に整数が昇順に自動的に採番(表示)される。
 「名称」は、登録対象の製品オーダの名称を意味する。本実施形態では、例えば、製品オーダ入力欄601の「名称」の文字が表示されている列に、製品オーダの名称をテキスト入力することが可能となっている。
 「ロット」は、登録対象の製品オーダが属するロットの識別情報を意味する。本実施形態では、例えば、製品オーダ入力欄601「ロット」の文字が表示されている列に、この識別情報として数字およびアルファベットを入力することが可能となっている。
 「品種」は、品種入力登録部102で登録された「品種」の名称を意味する(図4を参照)。本実施形態では、例えば、製品オーダ入力欄601の「品種」の文字が表示されている列に、これらの品種の名称の何れかを選択入力することが可能となっている。この選択入力は、例えば、プルダウンメニュー表示を行うことにより実現することができる。
 「処理量」は、登録対象の製品オーダの量を意味する。本実施形態では、例えば、製品オーダ入力欄601の「処理量」の文字が表示されている列に、例えば、この量[ton]の値(数字)を、処理量として入力することが可能となっている。
 「納期」は、登録対象の製品オーダの納期を意味する。本実施形態では、例えば、製品オーダ入力欄601の「納期」の文字が表示されている列に、この年月日(数字)を納期として入力することが可能となっている。
 「納期遅れ許容量」とは、登録対象の製品オーダの納期に対して遅れても許容される日数を意味する。本実施形態では、例えば、製品オーダ入力欄601の「納期遅れ許容量」の文字が表示されている列に、この日数(数字)を、納期遅れ許容量として入力することが可能となっている。
 図6Bに示す製品オーダ登録画面600の2行目では、「オーダ番号」が「00001」であり、名称が「A社向け1」であり、属する「ロット」の識別情報が「L001」であり、属する「品種」が「通常操業」であり、「処理量」が「5.0[ton]」であり、「納期」が「2011年12月10日」であり、「納期遅れ許容量」が「3[日]」であることを示す製品オーダ情報が入力された状態を示す。
 ユーザが、入力装置を操作して、製品オーダ登録画面600の製品オーダ入力欄601の特定の行または列を指定した状態で追加ボタン603を押下すると、指定した行または列の次の行または列が追加される。これにより、製品オーダの属性の追加や製品オーダの数の追加を行うことができる。
 また、ユーザが、入力装置を操作して、製品オーダ登録画面600の製品オーダ入力欄601の特定の行または列を指定した状態で削除ボタン604を押下すると、指定した行または列が削除される。これにより、製品オーダの属性の削除や製品オーダの数の削除を行うことができる。ただし、本実施形態では、初期の属性については削除することができないようにしている。初期の属性を削除することができるようにしてもよいということは勿論である。
 尚、これらの行または列の追加および削除の方法は、図3に示したリソース登録画面300で説明した方法と同じであるので、ここではその詳細な説明を省略する。
 以上のようにして、製品オーダ登録画面600における製品オーダ入力欄601に対する入力操作が終了し、ユーザが、入力装置を操作することにより、登録ボタン602が押下されると、製品オーダ入力登録部104は、登録ボタン602が押下されたときに、製品オーダ入力欄601に入力されている内容を記憶媒体に記憶する。例えば、製品オーダ入力登録部104は、製品オーダ入力欄601の各行に登録されている「『オーダ番号』、『名称』、『ロット』、『品種』、『納期』および『納期遅れ許容量』」を相互に関連付けた情報を製品オーダ情報として記憶する。
 製品オーダ入力登録部104は、例えば、CPUが、ユーザによる入力操作の内容に応じた製品オーダ登録画面600を表示するための表示データを生成して、表示装置に出力すると共に、製品オーダ情報をHDD等に記憶することにより実現される。
 以上のように、この製品オーダ登録画面600を用いることにより、製品オーダと品種とが相互に関連付けられることになる(図2を参照)。前述したように、工程登録画面500を用いることにより、工程を介して品種とリソースとが相互に関連付けられる。したがって、品種を介して工程と製品オーダが相互に関連付けられる。よって、リソース、品種、工程および製品オーダは、相互に関連付けられて登録される。
(変数・定数構築部105)
 変数・定数構築部105は、目的関数と制約式を数理計画法に則って定式化する際に使用する変数と定数を自動的に構築する。
 本実施形態では、決定変数として、以下の(a)~(c)に示す変数を構築する。
(a)開始時刻オーダ番号,工程名,リソース名、終了時刻オーダ番号,工程名,リソース名
(b)使用可否オーダ番号,工程名,リソース名
(c)前後判断オーダ番号, オーダ番号,工程名,リソース名
 開始時刻オーダ番号,工程名,リソース名、終了時刻オーダ番号,工程名,リソース名は、オーダ番号別・工程名別・リソース名別の開始時刻、終了時刻である。
 使用可否オーダ番号,工程名,リソース名は、0-1変数である。使用可否オーダ番号,工程名,リソース名の値が「1」であることは、「オーダ番号」の製品オーダに対し「工程名」の工程を実行するときには「リソース名」のリソースが使用されることを示し、「0」であることは、そのようなリソースが使用されないことを示す。
 前後判断オーダ番号1,オーダ番号2,工程名,リソース名は、0-1変数である。前後判断オーダ番号1,オーダ番号2,工程名,リソース名の値が「1」であることは、「工程名」の工程においては、「リソース名」のリソースは、「オーダ番号2」の製品オーダよりも先に「オーダ番号1」の製品オーダに対して使用されることを示す。一方、この値が「0」であることは、「工程名」の工程においては、「リソース名」のリソースは、「オーダ番号2」の製品オーダよりも後に「オーダ番号1」の製品オーダに対して使用されることを示す。尚、2つの製品オーダのうち予めどちらの製品オーダを先に実行させたいかを決めておく場合には、それら2つの製品オーダに対応する「前後判断オーダ番号, オーダ番号,工程名,リソース名」の値を「0」又は「1」とする制約を設けることができる。
 ここで、前記(a)の変数(開始時刻オーダ番号,工程名,リソース名、終了時刻オーダ番号,工程名,リソース名)の構築方法の一例を説明する。
 まず、変数・定数構築部105は、製品オーダ入力登録部104で登録された「各オーダ番号の製品オーダ情報」から「品種」を抽出し(図6を参照)、工程入力登録部103で登録された工程情報のうち、抽出した「品種」に属する工程情報を抽出する(図5を参照)。
 次に、変数・定数構築部105は、以上のようにして抽出した結果に基づいて、製品オーダの「オーダ番号」別、当該オーダ番号に関連付けられて登録されている「工程名」別、当該オーダ番号に関連付けられて主要なリソースおよび副次的なリソースとして登録されている「リソース名」別の開始時刻と終了時刻を決定変数として構築する。
 本実施形態では、例えば、以下の決定変数が構築される。
 開始時刻00001,加工,機械1、終了時刻00001,加工,機械1
 開始時刻00001,加工,機械2、終了時刻00001,加工,機械2
 開始時刻00001,待ち,機械1、終了時刻00001,待ち,機械1
 開始時刻00001,待ち,機械2、終了時刻00001,待ち,機械2
 ・・・
 開始時刻00001,組立,機械1、終了時刻00001,組立,機械1
 開始時刻00001,組立,機械L-1、終了時刻00001,組立,機械L-1
 開始時刻00001,組立,機械L、終了時刻00001,組立,機械L
 開始時刻00002,加工,機械1、終了時刻00002,加工,機械1
 開始時刻00002,加工,機械2、終了時刻00002,加工,機械2
 開始時刻00002,待ち,機械2、終了時刻00002,待ち,機械2
 開始時刻00002,待ち,機械2、終了時刻00002,待ち,機械2
 ・・・
 開始時刻00002,組立,機械1、終了時刻00002,組立,機械1
 開始時刻00002,組立,機械L-1、終了時刻00002,組立,機械L-1
 開始時刻00002,組立,機械L、終了時刻00002,組立,機械L
 ・・・
 開始時刻0000N,加工,機械1、終了時刻0000N加工,機械1
 開始時刻0000N,待ち,機械L-1、終了時刻0000N,待ち,機械L-1
・・・
 開始時刻0000N,組立,機械L-1、終了時刻0000N,組立,機械L-1
 開始時刻0000N,組立,機械L、終了時刻0000N,組立,機械L
 前記(b)の変数(使用可否オーダ番号,工程名,リソース名)の構築方法の一例を説明する。
 まず、変数・定数構築部105は、製品オーダ入力登録部104で登録された「各オーダ番号の製品オーダ情報」から「品種」を抽出し(図6を参照)、工程入力登録部103で登録された工程情報のうち、抽出した「品種」に属する工程情報を抽出する(図5を参照)。
 次に、変数・定数構築部105は、以上のようにして抽出した結果に基づいて、製品オーダの「オーダ番号」別、当該オーダ番号に関連付けられて登録されている「工程名」別、当該オーダ番号に関連付けられて主要なリソースおよび副次的なリソースとして登録されている「リソース名」別の使用可否を決定変数として構築する。
 本実施形態では、例えば、以下の決定変数が構築される。
 使用可否00001,加工,機械1
 使用可否00001,加工,機械2
 使用可否00001,待ち,機械1
 使用可否00001,待ち,機械2
 ・・・
 使用可否00001,組立,機械1
 使用可否00001,組立,機械L-1
 使用可否00001,組立,機械L
 使用可否00002,加工,機械1
 使用可否00002,加工,機械2
 使用可否00001,待ち,機械2
 使用可否00002,待ち,機械2
 ・・・
 使用可否00002,組立,機械1
 使用可否00002,組立,機械L-1
 使用可否00002,組立,機械L
 ・・・
 使用可否0000N,加工,機械1
 使用可否0000N,待ち,機械L-1
 ・・・
 使用可否0000N,組立,機械L-1
 使用可否0000N,組立,機械L
 次に、前記(c)の変数(前後判断オーダ番号, オーダ番号,工程名,リソース名)の構築方法の一例を説明する。
 まず、変数・定数構築部105は、製品オーダ入力登録部104で登録された「各オーダ番号の製品オーダ情報」から「品種」を抽出し(図6を参照)、工程入力登録部103で登録された工程情報のうち、抽出した「品種」に属する工程情報を抽出する(図5を参照)。
 次に、変数・定数構築部105は、以上のようにして抽出した結果に基づいて、異なる2つの製品オーダの「オーダ番号」別、当該オーダ番号に関連付けられて登録されている「工程名」別、当該オーダ番号に関連付けられて主要なリソースおよび副次的なリソースとして登録されている「リソース名」別の前後判断を決定変数として構築する。
 本実施形態では、例えば、以下の決定変数が構築される。
 前後判断00001,00002,加工,機械1
 前後判断00001,00002,加工,機械2
 前後判断00001,00002,待ち,機械1
 前後判断00001,00002,待ち,機械2
 ・・・
 前後判断00001,00002,組立,機械1
 前後判断00001,00002,組立,機械L-1
 前後判断00001,00002,組立,機械L
 ・・・
 前後判断00001,0000N,加工,機械1
 前後判断00001,0000N,加工,機械2
 前後判断00001,0000N,待ち,機械1
 前後判断00001,0000N,待ち,機械2
 ・・・
 前後判断00001,0000N,組立,機械1
 前後判断00001,0000N,組立,機械L-1
 前後判断00001,0000N,組立,機械L
 ・・・
 前後判断0000(N-1),0000N,加工,機械1
 前後判断0000(N-1),0000N,加工,機械2
 前後判断0000(N-1),0000N,待ち,機械1
 前後判断0000(N-1),0000N,待ち,機械2
 ・・・
 前後判断0000(N-1),0000N,組立,機械1
 前後判断0000(N-1),0000N,組立,機械L-1
 前後判断0000(N-1),0000N,組立,機械L
 以上のようにして決定変数の構築が終了した後、変数・定数構築部105は、リソース、品種、工程および製品オーダの属性として新たに登録された属性を定数として自動的に構築する。
 図3(b)に示す例では、リソースの属性として、「使用可能開始日」が新たに設定された。そこで、変数・定数構築部105は、以下の(c)に示す定数を構築する。
(c)使用開始可能日リソース名
 使用開始可能日リソース名は、リソース名別の使用開始可能日である。
 本実施形態では、例えば、以下の定数が構築される。
 使用開始可能日機械1=2011/12/10
 使用開始可能日機械2=2011/12/7
 ・・・
 使用開始可能日機械L=2011/12/12
 変数・定数構築部105は、例えば、CPUが、HDD等から、製品オーダ情報と工程情報とを読み出して、前述した変数および定数を作成し、そのデータをRAM等に記憶することにより実現される。
(制約条件入力設定部106)
 本実施形態では、後述するように、「品種、工程、およびリソース」の少なくとも1つを用いて記述される制約を、数理計画法に則って定式化した制約式が使用される。
 そこで、制約条件入力設定部106は、この制約の内容を、前述したようにして相互に関連付けられた「品種、工程、およびリソース」の識別情報の少なくとも1つの選択入力欄を用いて表記された制約式の内容が少なくとも表示される制約設定画面を表示する。そして、制約条件入力設定部106は、この制約設定画面の選択入力欄に対してユーザにより選択入力された結果に基づいて、制約の内容を設定する。本実施形態では、以下の(A)~(G)の制約条件が設定される。以下に、制約条件入力設定部106で登録される制約条件の一例について説明する。
(A)リソース同時利用制約
 制約条件入力設定部106は、図7に示すリソース同時利用制約設定画面700を表示装置に表示する。図7Aは、リソース同時利用制約設定画面700の初期状態の一例を示す図である。図7Bは、リソース同時利用制約の情報が入力されたリソース同時利用制約設定画面700の一例を示す図である。
 図7において、リソース同時利用制約設定画面700は、GUIであり、制約条件入力欄701と、登録ボタン702と、同制約追加ボタン703と、次制約追加ボタン704と、削除ボタン705とを有する。
 図7に示す制約条件入力欄701には、「制約名(「制約1-※」)」で識別される1つのリソース同時利用制約に属する複数の品種を識別するための「品種」と、それぞれの「品種」が通過する工程を識別するための「工程名」と、それぞれの「品種」が通過する工程で使用されるリソースを識別するための「リソース名」の入力欄が設けられる。
 この制約条件入力欄701への入力により、或る「品種」が或る「工程(工程名)」を通過する際に使用される「リソース(リソース名)」と、その他の1又は複数の「品種」が或る「工程(工程名)」を通過する際に使用される「リソース(リソース名)」とを、同時期(時間的に重なる期間)に使用することができないことを表すリソース同時利用制約(「制約名(「制約1-*」)」)を登録することができる。以下に、各欄の詳細について説明する。
 制約条件入力欄701に表示される「制約名」は、リソース同時利用制約の識別情報である。本実施形態では、「制約名」の最初の入力欄には「制約1-1」が自動的に表示される。以降、「制約1-*」の語の*の部分に、上の行から順番に整数が昇順に自動的に採番(表示)される(「制約1-1」、「制約1-2」・・・)。
 「品種」、「工程名」、「リソース名」の文字が表示されている列には、それぞれ、前述したようにして登録された「品種」(の名称)、「工程名」、「リソース名」の何れかを選択入力することが可能となっている。この選択入力は、例えば、プルダウンメニュー表示を行うことにより実現することができる。ただし、ここでは、「品種」が選択入力されないと、「工程名」および「リソース名」を選択入力することができないようになっている。そして、「工程名」および「リソース名」の入力欄には、選択入力された「品種」と相互に関連付けられて登録されているもののみを選択入力することができるようになっている。尚、「品種」よりも前に、「工程名」および「リソース名」を選択入力することができるようにしてもよい。この場合であっても、選択入力される「『品種』、『工程名』、『リソース名』」は、相互に関連付けられて登録されたものとなる。
 例えば、図5Bに示す工程登録画面500において、「通常操業」で使用される、「工程名」が「加工」である工程では、「リソース名」が「機械1」および「機械2」であるリソースが使用されることになる(すなわち、主要なリソースまたは副次的なリソースとして登録されている)。この場合、制約条件入力欄701の「品種」として「通常操業」が選択入力され、「工程名」として「加工」が選択入力された場合には、「リソース名」として、「機械1」および「機械2」の何れかのみを選択入力することが可能なプルダウンメニューが表示される。同様に図5Cに示す工程登録画面500において、「特殊操業1」で使用される「工程名」が「加工」である工程では、「リソース名」が「機械1」であるリソースが使用されることになる。この場合、制約条件入力欄701の「品種」として「特殊操業1」が選択入力され、「工程名」として「加工」が選択入力された場合には、「リソース名」として、「機械1」のみを選択入力することが可能なプルダウンメニューが表示される。
 図7Bに示すリソース同時利用制約設定画面700では、例えば、名称が「制約1-1」のリソース同時利用制約として、「通常操業」における「加工」と、「特殊操業1」における「加工」に対し、「機械1」を同時に使用することができないことを示すリソース同時利用制約が設定される。尚、図7Bにおいて、「機械1」は、複数の製品オーダに対し同時に使用することができるリソースであることから、リソース同時利用制約の設定を行うことができる。
 ユーザが、入力装置を操作して、リソース同時利用制約設定画面700の制約条件入力欄701の「制約1-*」内の特定の行を指定した状態で同制約追加ボタン703を押下すると、指定した行の次の行に空欄の行が1行追加される。例えば、制約条件入力欄701の「制約1-1」内の2行目の行を指定した状態で同制約追加ボタン703が1回押下されることにより、「制約1-1」の選択入力欄の行数は、現在値である「2」から「3」に変更される。このようにすることにより、リソース同時利用制約の成立条件を増やすことができる。
 また、ユーザが、入力装置を操作して、リソース同時利用制約設定画面700の制約条件入力欄701の1番左の列の領域を指定した状態で次制約追加ボタン704を押下すると、その領域の次の行に、空欄の選択入力欄が1つ追加される。このようにすることにより、リソース同時利用制約を追加することができる。
 また、ユーザが、入力装置を操作して、リソース同時利用制約設定画面700の制約条件入力欄701の「制約1-*」内の特定の行を指定した状態で削除ボタン705を押下すると、指定した行が削除される。
 また、ユーザが、入力装置を操作して、リソース同時利用制約設定画面700の制約条件入力欄701の1番左の列の2行目以降の領域(「制約1-*」)を指定した状態で削除ボタン705を押下すると、指定した領域(「制約1-*」)の選択入力欄(の全て)が削除される。例えば、図7Bに示す状態で、1番左の列の「制約1-2」の領域を指定した状態で削除ボタン705を押下した場合は、「制約1-2」に対する選択入力欄の全てが削除される。
 以上のようにして、リソース同時利用制約設定画面700の制約条件入力欄701に対する入力操作が終了し、ユーザが、入力装置を操作することにより、登録ボタン702が押下されると、制約条件入力設定部106は、登録ボタン702が押下されたときに、制約条件入力欄701に入力されている内容を記憶媒体に記憶する。
(B)リソース利用パターン制約
 制約条件入力設定部106は、図8に示すリソース利用パターン制約設定画面800を表示装置に表示する。図8Aは、リソース利用パターン制約設定画面800の初期状態の一例を示す図である。図8Bは、リソース利用パターン制約の情報が入力されたリソース利用パターン制約設定画面800の一例を示す図である。
 図8において、リソース利用パターン制約設定画面800は、GUIであり、制約条件入力欄801と、登録ボタン802と、同制約追加ボタン803と、次制約追加ボタン804と、削除ボタン805とを有する。
 図8に示す制約条件入力欄801には、「制約名(「制約2-*」)」で識別されるリソース利用パターン制約に属する品種を識別するための「品種」と、その「品種」における「条件」に対応する「工程」および「リソース」を識別するための「工程名」および「リソース名」と、その「条件」に対する「結果」に対応する「工程」および「リソース」を識別するための「工程名」および「リソース名」の入力欄が設けられる。
 この制約条件入力欄801への入力により、或る「品種」において、或る「工程(工程名)」を通過するときに或る「リソース(リソース名)」が使用されるという「条件」がある場合には、その「品種」が特定の「工程(工程名)」を通過する際には特定の「リソース(リソース名)」を使用しなければならないという「結果」が得られなければならないことを表すリソース利用パターン制約(「制約名(「制約2-*」)」)を登録することができる。以下に、各欄の詳細について説明する。
 制約条件入力欄801に表示される「制約名」は、リソース利用パターン制約の識別情報である。本実施形態では、「制約名」の最初の入力欄には「制約2-1」が自動的に表示される。以降、「制約2-*」の語の*の部分に、上の行から順番に整数が昇順に自動的に採番(表示)される。
 「品種」、「工程名」、「リソース名」の文字が表示されている列には、それぞれ、前述したようにして登録された「品種」(の名称)、「工程名」、「リソース名」の何れかを選択入力することが可能となっている。この選択入力は、例えば、プルダウンメニュー表示を行うことにより実現することができる。ただし、ここでは、「品種」が選択入力されないと、「工程名」および「リソース名」を選択入力することができないようになっている。そして、「工程名」および「リソース名」の入力欄には、選択入力された「品種」と相互に関連付けられて登録されているもののみを選択入力することができるようになっている。尚、「品種」よりも前に、「工程名」および「リソース名」を選択入力することができるようにしてもよい。この場合であっても、選択入力される「『品種』、『工程名』、『リソース名』」は、相互に関連付けられて登録されたものとなる。
 図8Bに示すリソース利用パターン制約設定画面800では、名称が「制約2-1」のリソース利用パターン制約として、「通常操業」で「加工」に「機械1」を使用した場合には、「通常操業」では「待ち」および「組立」に「機械1」を使用しなければならないことを示すリソース利用パターン制約が設定される。
 ユーザが、入力装置を操作して、リソース利用パターン制約設定画面800の制約条件入力欄801の「制約2-*」内の特定の行を指定した状態で同制約追加ボタン803を押下すると、指定した行の次の行に空欄の行が1行追加される。このようにすることにより、リソース利用パターン制約の成立条件を増やすことができる。
 また、ユーザが、入力装置を操作して、リソース利用パターン制約設定画面800の制約条件入力欄801の1番左の列の領域を指定した状態で次制約追加ボタン804を押下すると、その領域の次の行に、空欄の選択入力欄が1つ追加される。このようにすることにより、リソース利用パターン制約を追加することができる。
 また、ユーザが、入力装置を操作して、リソース利用パターン制約設定画面800の制約条件入力欄801の「制約2-*」内の特定の行を指定した状態で削除ボタン805を押下すると、指定した行が削除される。
 また、ユーザが、入力装置を操作して、リソース利用パターン制約設定画面800の制約条件入力欄801の1番左の列の2行目以降の領域(「制約2-*」)を指定した状態で削除ボタン805を押下すると、指定した領域(「制約2-*」)の選択入力欄(の全て)が削除される。
 以上のようにして、リソース利用パターン制約設定画面800の制約条件入力欄801に対する入力操作が終了し、ユーザが、入力装置を操作することにより、登録ボタン802が押下されると、制約条件入力設定部106は、登録ボタン802が押下されたときに、制約条件入力欄801に入力されている内容を記憶媒体に記憶する。
(C)リソース利用パターン処理時間制約
 制約条件入力設定部106は、図9に示すリソース利用パターン処理時間制約設定画面900を表示装置に表示する。図9Aは、リソース利用パターン処理時間制約設定画面900の初期状態の一例を示す図である。図9Bは、リソース利用パターン制約の情報が入力されたリソース利用パターン処理時間制約設定画面900の一例を示す図である。
 図9において、リソース利用パターン処理時間制約設定画面900は、GUIであり、制約条件入力欄901と、登録ボタン902と、追加ボタン903と、削除ボタン904とを有する。
 図9に示す制約条件入力欄901には、「制約名(「制約3-*」)」で識別されるリソース利用パターン処理時間制約に属する品種を識別するための「品種」と、その「品種」における「条件」に対応する「工程」および「リソース」を識別するための「工程名」および「リソース名」と、その「条件」に対する「結果」に対応する「工程」および「使用時間」を識別するための「工程名」および「使用時間」の入力欄が設けられる。
 この制約条件入力欄901への入力により、或る「品種」において、或る「工程(工程名)」を通過する際に「リソース(リソース名)」が使用されるという「条件」がある場合には、その「品種」における特定の「工程(工程名)」の「使用時間」が制限されるという「結果」が得られなければならないことを表すリソース利用パターン処理時間制約(「制約名(「制約3-*」)」)を登録することができる。以下に、各欄の詳細について説明する。
 制約条件入力欄901に表示される「制約名」は、リソース利用パターン処理時間制約の識別情報である。本実施形態では、「制約名」の最初の入力欄には「制約3-1」が自動的に表示される。以降、「制約3-*」の語の*の部分に、上の行から順番に整数が昇順に自動的に採番(表示)される。
 「品種」、「工程名」、「リソース名」の文字が表示されている列には、それぞれ、前述したようにして登録された「品種」(の名称)、「工程名」、「リソース名」の何れかを選択入力することが可能となっている。この選択入力は、例えば、プルダウンメニュー表示を行うことにより実現することができる。ただし、ここでは、「品種」が選択入力されないと、「工程名」および「リソース名」を選択入力することができないようになっている。そして、「工程名」および「リソース名」には、選択入力された「品種」と相互に関連付けられて登録されているもののみを選択入力することができるようになっている。尚、「品種」よりも前に、「工程名」および「リソース名」を選択入力することができるようにしてもよい。この場合であっても、選択入力される「『品種』、『工程名』、『リソース名』」は、相互に関連付けられて登録されたものとなる。
 また、「使用時間」の文字が表示されている列には、前述した「使用時間」の値(数字)を入力することが可能になっている。尚、或る「品種」の或る「工程名」に対する「使用時間」は、当該「品種」の当該「工程名」に対して登録された「最小時間」以上「最大時間」以下の範囲内で入力される(「最小時間」、「最大時間」については、図5を参照)。
 図9Bに示すリソース利用パターン処理時間制約設定画面900では、例えば、名称が「制約3-1」のリソース利用パターン処理時間制約として、「通常操業」で「加工」に「機械1」を使用した場合には、「通常操業」における「加工」の「使用時間」が1.8[hour]に制限されることを示すリソース利用パターン処理時間制約が設定される。
 ユーザが、入力装置を操作して、リソース利用パターン処理時間制約設定画面900の制約条件入力欄901の特定の行を指定した状態で追加ボタン903を押下すると、指定した行の次の行に、空欄の入力欄が1つ追加される。このようにすることにより、リソース利用パターン処理時間制約を追加することができる。
 また、ユーザが、入力装置を操作して、リソース利用パターン処理時間制約設定画面900の制約条件入力欄901の特定の行を指定した状態で削除ボタン904を押下すると、指定された行の入力欄(の全て)が削除される。
 以上のようにして、リソース利用パターン処理時間制約設定画面900の制約条件入力欄901に対する入力操作が終了し、ユーザが、入力装置を操作することにより、登録ボタン902が押下されると、制約条件入力設定部106は、登録ボタン902が押下されたときに、制約条件入力欄901に入力されている内容を記憶媒体に記憶する。
(D)同一ロット制約
 制約条件入力設定部106は、図10に示す同一ロット制約設定画面1000を表示装置に表示する。図10Aは、同一ロット制約設定画面1000の初期状態の一例を示す図である。図10Bは、同一ロット制約の情報が入力された同一ロット制約設定画面1000の一例を示す図である。
 図10において、同一ロット制約設定画面1000は、GUIであり、制約条件入力欄1001と、登録ボタン1002と、追加ボタン1003と、削除ボタン1004とを有する。
 同一ロット制約設定画面1000の初期状態は、制約条件入力欄1001の入力項目(「制約名」、「品種」、「工程名」、「前工程連結タイプ」、「待ち時間」の文字が表示されている領域)と、最初の入力欄(「制約4-1」に対する入力欄)と、登録ボタン1002と、追加ボタン1003と、削除ボタン1004とが表示された状態となる。ここで、ロットとは、複数の製品オーダの纏まりであり、このロットの単位で製品オーダの製造が実施される。同一のロットには同じ品種の製品オーダが属することになる。
 図10に示す制約条件入力欄1001には、「制約名(「制約4-*」)」で識別される同一ロット制約に属する品種を識別するための「品種」と、その「品種」が通過する「工程」を識別するための「工程名」と、当該「工程」を通過するときの当該「品種」に属する2つの製品オーダの時間的な前後関係を規定する「前工程連結タイプ」と、当該2つの製品オーダのうち時間的に後に当該「工程」を通過する製品オーダの「待ち時間」の入力欄が設けられる。
 この制約条件入力欄1001への入力により、或る「品種」に属する時間的に前後する2つの製品オーダのうち、時間的に後に「工程(工程名)」を通過する製品オーダについては、「待ち時間」だけ待ってから「前工程連結タイプ」で示される関係で当該「工程(工程名)」を通過しなれなければならないという同一ロット制約(「制約名(「制約4-*」)」)を登録することができる。以下に、各欄の詳細について説明する。
 制約条件入力欄1001に表示される「制約名」は、同一ロット制約の識別情報である。本実施形態では、「制約名」の最初の入力欄には「制約4-1」が自動的に表示される。以降、「制約4-*」の語の*の部分に、上の行から順番に整数が昇順に自動的に採番(表示)される。
 「品種」、「工程名」の文字が表示されている列には、それぞれ、前述したようにして登録された「品種」(の名称)、「工程名」の何れかを選択入力することが可能となっている。この選択入力は、例えば、プルダウンメニュー表示を行うことにより実現することができる。ただし、ここでは、「品種」が選択入力されないと、「工程名」を選択入力することができないようになっている。そして、「工程名」の入力欄には、選択入力された「品種」と相互に関連付けられて登録されているもののみを選択入力することができるようになっている。尚、「品種」よりも前に、「工程名」を選択入力することができるようにしてもよい。この場合であっても、選択入力される「『品種』、『工程名』」は、相互に関連付けられて登録されたものとなる。
 「前工程連結タイプ」とは、「工程名」の入力欄に入力された工程において時間的に連続して実行される「同一のロット内の2つの『製品オーダ』」のうち、当該工程が先に実行されるものと、後に実行されるものとの、当該工程における時間的な関係を示すものである。本実施形態では、予め設定されているものの中から「前工程連結タイプ」を選択入力することが可能となっている。この選択入力は、例えば、プルダウンメニュー表示を行うことにより実現することができる。尚、以下の説明では、前記「後に実行される製品オーダ」を必要に応じて「自オーダ」と称し、前記「先に実行される製品オーダ」を必要に応じて「前オーダ」と称する。
 本実施形態では、「前工程連結タイプ」として「(前)終了時(自)開始」と「(前)開始時(自)開始」が予め設定されている。「(前)終了時(自)開始」とは、前オーダの最後の原材料・中間製品・製品に対して「『工程名』の入力欄に入力された工程」が終了した後に自オーダの最初の原材料・中間製品・製品に対して「『工程名』の入力欄に入力された工程」を開始することを示す。「(前)開始時(自)開始」とは、前オーダの最初の原材料・中間製品・製品に対して「『工程名』の入力欄に入力された工程」が開始した後に自オーダの最初の原材料・中間製品・製品に対して「『工程名』の入力欄に入力された工程」を開始することを示す。
 「待ち時間」の文字が表示されている列には、前オーダに対する自オーダの待ち時間の値(数字)を入力することが可能になっている。
 図10Bに示す同一ロット制約設定画面1000では、例えば、名称が「制約4-1」の同一ロット制約として、同一のロットに属する品種が「通常操業」であり、当該ロットに属する前オーダと自オーダにおいて「組立」が行われる場合には、前オーダの最後の原材料・中間製品の「組立」が終了したらすぐに(0[min]後に)、自オーダの最初の原材料・中間製品の「組立」を開始することを示す同一ロット制約が設定される(「制約名(「制約4-1」)」)。また、名称が「制約4-2」の同一ロット制約として、同一のロットに属する品種が「特殊操業1」であり、当該ロットに属する前オーダと自オーダにおいて「組立」が行われる場合には、前オーダの最後の原材料・中間製品の「組立」が終了したらすぐに(0[min]後に)、自オーダの最初の原材料・中間製品の「組立」を開始することを示す同一ロット制約が設定される((「制約名(「制約4-2」)」))。
 ユーザが、入力装置を操作して、同一ロット制約設定画面1000の制約条件入力欄1001の「制約4-*」内の特定の行を指定した状態で追加ボタン1003を押下すると、指定した行の次の行に空欄の行が1行追加される。このようにすることにより、リソース利用パターン制約を追加することができる。
 また、ユーザが、入力装置を操作して、同一ロット制約設定画面1000の制約条件入力欄1001の特定の行を指定した状態で削除ボタン1004を押下すると、指定した行の入力欄(の全て)が削除される。
 以上のようにして、同一ロット制約設定画面1000の制約条件入力欄1001に対する入力操作が終了し、ユーザが、入力装置を操作することにより、登録ボタン1002が押下されると、制約条件入力設定部106は、登録ボタン1002が押下されたときに、制約条件入力欄1001に入力されている内容を記憶媒体に記憶する。
(E)異ロット制約
 制約条件入力設定部106は、図11に示す異ロット制約設定画面1100を表示装置に表示する。図11Aは、異ロット制約設定画面1100の初期状態の一例を示す図である。図11Bは、異ロット制約の情報が入力された異ロット制約設定画面1100の一例を示す図である。
 図11において、異ロット制約設定画面1100は、GUIであり、制約条件入力欄1101と、登録ボタン1102と、同制約追加ボタン1103と、次制約追加ボタン1104と、削除ボタン1105とを有する。
 図11に示す制約条件入力欄1101には、「制約名(「制約5-*」)」で識別される異ロット制約に属する複数の品種を識別するための「品種」と、それらの「品種」が通過する「工程」をそれぞれ識別する「工程名」と、それらの「工程」を通過するときの当該「品種」に属する2つのロットの時間的な前後関係をそれぞれ規定する「前工程連結タイプ」と、当該2つのロットのうち時間的に後に当該「工程」を通過するロットの「待ち時間」の入力欄が設けられる。
 この制約条件入力欄1101への入力により、同種または異種の「品種」に属する時間的に前後する2つのロットのうち、時間的に後に「工程(工程名)」を通過するロットについては、「待ち時間」だけ待ってから「前工程連結タイプ」で示される関係で当該「工程(工程名)」を通過しなければならないという異ロット制約(「制約名(「制約5-*」)」)を登録することができる。以下に、各欄の詳細について説明する。
 制約条件入力欄1101に表示される「制約名」は、異ロット制約の識別情報である。本実施形態では、「制約名」の最初の入力欄には「制約5-1」が自動的に表示される。以降、「制約5-*」の語の*の部分に、上の行から順番に整数が昇順に自動的に採番(表示)される。
 「品種」、「工程名」の文字が表示されている列には、それぞれ、前述したようにして登録された「品種」(の名称)、「工程名」の何れかを選択入力することが可能となっている。この選択入力は、例えば、プルダウンメニュー表示を行うことにより実現することができる。ただし、ここでは、「品種」が選択入力されないと、「工程名」を選択入力することができないようになっている。そして、「工程名」の入力欄には、選択入力された「品種」と相互に関連付けられて登録されているもののみを選択入力することができるようになっている。尚、「品種」よりも前に、「工程名」を選択入力することができるようにしてもよい。この場合であっても、選択入力される「『品種』、『工程名』」は、相互に関連付けられて登録されたものとなる。
 「前工程連結タイプ」とは、「工程名」の入力欄に入力された工程において時間的に連続して実行される2つロットのうち、当該工程が先に実行されるロットと、後に実行されるロットとの、当該工程における時間的な関係を示すものである。本実施形態では、予め設定されているものの中から「前工程連結タイプ」を選択入力することが可能となっている。この選択入力は、例えば、プルダウンメニュー表示を行うことにより実現することができる。尚、以下の説明では、前記「後に実行されるロット」を必要に応じて「自ロット」と称し、前記「先に実行されるロット」を必要に応じて「前ロット」と称する。
 本実施形態では、「前工程連結タイプ」として「(前)終了時(自)開始」と「(前)開始時(自)開始」が予め設定されている。「(前)終了時(自)開始」とは、前ロットの最後の原材料・中間製品・製品に対して「『工程名』の入力欄に入力された工程」が終了した後に、自ロットの最初の原材料・中間製品・製品に対して「『工程名』の入力欄に入力された工程」を開始することを示す。「(前)開始時(自)開始」とは、前ロットの最初の原材料・中間製品・製品に対して「『工程名』の入力欄に入力された工程」が開始した後に、自ロットの最初の原材料・中間製品・製品に対して「『工程名』の入力欄に入力された工程」を開始することを示す。
 「待ち時間」の文字が表示されている列には、前ロットに対する自ロットの待ち時間の値(数字)を入力することが可能になっている。
 図11Bに示す異ロット制約設定画面1100では、名称が「制約5-1」のリソース利用パターン制約として、以下の第1~第4の異ロット制約が設定される。
 第1に、前ロットが属する品種が「通常操業」であり、自ロットが属する品種が「通常操業」であり、前ロットと自ロットにおいて「組立」が行われる場合には、前ロットの最後の原材料・中間製品の「組立」が終了してから1.5[min]後に、自ロットの最初の原材料・中間製品の「組立」を開始することを示す異ロット制約が設定される。
 第2に、前ロットが属する品種が「通常操業」であり、自ロットが属する品種が「特殊操業1」であり、前ロットと自ロットにおいて「組立」が行われる場合には、前ロットの最後の原材料・中間製品の「組立」が終了してから2.0[min]後に、自ロットの最初の原材料・中間製品の「組立」を開始することを示す異ロット制約が設定される。このように、前ロットと自ロットが属する品種が異なる場合には、自ロットに対して設定されている「待ち時間」の値が採用される。
 第3に、前ロットが属する品種が「特殊操業1」であり、自ロットが属する品種が「特殊操業1」であり、前ロットと自ロットにおいて「組立」が行われる場合には、前ロットの最後の原材料・中間製品の「組立」が終了してから2.0[min]後に、自ロットの最初の原材料・中間製品の「組立」を開始することを示す異ロット制約が設定される。
 第4に、前ロットが属する品種が「特殊操業1」であり、自ロットが属する品種が「通常操業」であり、前ロットと自ロットにおいて「組立」が行われる場合には、前ロットの最後の原材料・中間製品の「組立」が終了してから1.5[min]後に、自ロットの最初の原材料・中間製品の「組立」を開始することを示す異ロット制約が設定される。
 ユーザが、入力装置を操作して、異ロット制約設定画面1100の制約条件入力欄1101の「制約5-*」内の特定の行を指定した状態で同制約追加ボタン1103を押下すると、指定した行の次の行に空欄の行が1行追加される。このようにすることにより、異ロット制約の成立条件を増やすことができる。
 また、ユーザが、入力装置を操作して、異ロット制約設定画面1100の制約条件入力欄1101の1番左の列の領域を指定した状態で次制約追加ボタン1104を押下すると、その領域の次の行に、空欄の入力欄が1つ追加される。このようにすることにより、異ロット制約を追加することができる。
 また、ユーザが、入力装置を操作して、異ロット制約設定画面1100の制約条件入力欄1101の「制約5-*」内の特定の行を指定した状態で削除ボタン1105を押下すると、指定した行が削除される。
 また、ユーザが、入力装置を操作して、異ロット制約設定画面1100の制約条件入力欄1101の1番左の列の2行目以降の領域(「制約5-*」)を指定した状態で削除ボタン1105を押下すると、指定した領域領域(「制約5-*」)の選択入力欄(の全て)が削除される。
 以上のようにして、異ロット制約設定画面1100の制約条件入力欄1101に対する入力操作が終了し、ユーザが、入力装置を操作することにより、登録ボタン1102が押下されると、制約条件入力設定部106は、登録ボタン1102が押下されたときに、制約条件入力欄1101に入力されている内容を記憶媒体に記憶する。
(F)リソース稼働制約
 制約条件入力設定部106は、図12に示すリソース稼働制約設定画面1200を表示装置に表示する。図12Aは、リソース稼働制約設定画面1200の初期状態の一例を示す図である。図12Bは、リソース稼働制約の情報が入力されたリソース稼働制約設定画面1200の一例を示す図である。
 図12において、リソース稼働制約設定画面1200は、GUIであり、制約条件入力欄1201と、登録ボタン1202と、追加ボタン1203と、削除ボタン1204とを有する。
 リソース稼働制約設定画面1200の初期状態は、制約条件入力欄1201の入力項目(「制約名」、「リソース名」、「開始日時」、「終了日時」、「能力」の文字が表示されている領域)と、最初の入力欄(「制約6-1」に対する入力欄)と、登録ボタン1202と、追加ボタン1203と、削除ボタン1204とが表示された状態となる。リソース稼働制約設定画面1200の初期状態では、最初の入力欄は全て空欄となっている。
 図12に示す制約条件入力欄1201には、「制約名(「制約6-*」)」で識別されるリソース稼働制約に属する「リソース」を識別するための「リソース名」と、その「リソース」の「能力」の制限の「開始日時」および「終了日時」と、その制限されたときの「能力(最大能力に対する倍率)」の入力欄が設けられる。
 この制約条件入力欄1201への入力により、「リソース(リソース名)」の「開始日時」から「終了日時」までの期間における制限された「能力」を示すリソース稼働制約(「制約名(「制約6-*」)」)を登録することができる。以下に、各欄の詳細について説明する。
 制約条件入力欄1201に表示される「制約名」は、リソース稼働制約の識別情報である。本実施形態では、「制約名」の最初の入力欄には「制約6-1」が自動的に表示される。以降、「制約6-*」の語の*の部分に、上の行から順番に整数が昇順に自動的に採番(表示)される。
 「リソース名」の文字が表示されている列には、それぞれ、前述したようにして登録された「リソース名」の何れかを選択入力することが可能となっている。この選択入力は、例えば、プルダウンメニュー表示を行うことにより実現することができる。
 「開始日時」とは、リソースの能力の制限を開始するタイミングを意味する。本実施形態では、例えば、「開始日時」の文字が表示されている列に、このタイミングを表す日時(数字)を開始日時として入力することが可能となっている。
 「終了日時」とは、リソースの能力の制限を終了するタイミングを意味する。本実施形態では、例えば、「終了日時」の文字が表示されている列に、このタイミングを表す日時(数字)を終了日時として入力することが可能となっている。
 「能力」とは、リソースの能力が制限される期間における当該リソースの能力を意味する。本実施形態では、例えば、最大能力に対する倍率(数字)を能力として入力することが可能となっている。
 図12Bに示すリソース稼働制約設定画面1200では、例えば、名称が「制約6-1」のリソース稼働制約として、2011年10月23日9時30分から2011年10月24日8時30分のまでの間は、リソース名が「機械1」のリソースは、その最大能力の0.7倍の能力で使用しなければならないというリソース稼働制約が設定される。
 ユーザが、入力装置を操作して、リソース稼働制約設定画面1200の制約条件入力欄1201の特定の行を指定した状態で追加ボタン1203を押下すると、指定した行の次の行に、空欄の入力欄が1つ追加される。このようにすることにより、リソース稼働制約を追加することができる。
 また、ユーザが、入力装置を操作して、リソース稼働制約設定画面1200の制約条件入力欄1201の特定の行を指定した状態で削除ボタン1204を押下すると、指定された行の入力欄(の全て)が削除される。
 以上のようにして、リソース稼働制約設定画面1200の制約条件入力欄1201に対する入力操作が終了し、ユーザが、入力装置を操作することにより、登録ボタン1202が押下されると、制約条件入力設定部106は、登録ボタン1202が押下されたときに、制約条件入力欄1201に入力されている内容を記憶媒体に記憶する。
(G)リソース最大能力制約
 制約条件入力設定部106は、図13に示すリソース最大能力制約設定画面1300を表示装置に表示する。図13Aは、リソース最大能力制約設定画面1300の初期状態の一例を示す図である。図13Bは、リソース最大能力制約の情報が入力されたリソース最大能力制約設定画面1300の一例を示す図である。
 図13において、リソース最大能力制約設定画面1300は、GUIであり、制約条件入力欄1301と、登録ボタン1302と、追加ボタン1303と、削除ボタン1304とを有する。
 リソース最大能力制約設定画面1300の初期状態は、制約条件入力欄1301の入力項目(「制約名」、「リソース名」、「開始日時」、「終了日時」の文字が表示されている領域)と、最初の入力欄(「制約7-1」に対する入力欄)と、登録ボタン1302と、追加ボタン1303と、削除ボタン1304とが表示された状態となる。リソース最大能力制約設定画面1300の初期状態では、最初の入力欄は全て空欄となっている。
 図13に示す制約条件入力欄1301には、「制約名(「制約7-*」)」で識別されるリソース最大能力制約に属する「リソース」を識別するための「リソース名」と、その「リソース」の最大能力での使用の「開始日時」および「終了日時」の入力欄が設けられる。
 この制約条件入力欄1301への入力により、「リソース(リソース名)」を、その最大能力で使用することができる期間(「開始日時」から「終了日時」までの期間)を示すリソース最大能力制約(「制約名(「制約7-*」)」)を登録することができる。
 尚、前述した(F)のリソース稼働制約では、リソースを使えない期間、或いは、リソースの能力を落とす期間を指定するのに対し、(G)のリソース最大能力制約とは、最大能力を使用することができるリソースと、その最大能力で使用することができる期間を指定するものである。以下に、各欄の詳細について説明する。
 制約条件入力欄1301に表示される「制約名」は、リソース最大能力制約の識別情報である。本実施形態では、「制約名」の最初の入力欄には「制約7-1」が自動的に表示される。以降、「制約7-*」の語の*の部分に、上の行から順番に整数が昇順に自動的に採番(表示)される。
 「リソース名」の文字が表示されている列には、それぞれ、前述したようにして登録された「リソース名」の何れかを選択入力することが可能となっている。この選択入力は、例えば、プルダウンメニュー表示を行うことにより実現することができる。
 「開始日時」とは、リソースの最大能力の使用を開始するタイミングを意味する。本実施形態では、例えば、「開始日時」の文字が表示されている列に、このタイミングを表す日時(数字)を開始日時として入力することが可能となっている。
 「終了日時」とは、リソースの最大能力の使用を終了するタイミングを意味する。本実施形態では、例えば、「終了日時」の文字が表示されている列に、このタイミングを表す日時(数字)を終了日時として入力することが可能となっている。
 図13に示すリソース最大能力制約設定画面1300では、例えば、名称が「制約7-1」のリソース最大能力制約として、2011年10月23日9時30分から2011年10月24日8時30分のまでの間は、リソース名が「機械L-1」のリソースを、その最大能力で使用することができるというリソース最大能力制約が設定される。
 ユーザが、入力装置を操作して、リソース最大能力制約設定画面1300の制約条件入力欄1301の特定の行を指定した状態で追加ボタン1303を押下すると、指定した行の次の行に、空欄の入力欄が1つ追加される。このようにすることにより、リソース最大能力制約を追加することができる。
 また、ユーザが、入力装置を操作して、リソース最大能力制約設定画面1300の制約条件入力欄1301の特定の行を指定した状態で削除ボタン1304を押下すると、指定された行の入力欄(の全て)が削除される。
 以上のようにして、リソース最大能力制約設定画面1300の制約条件入力欄1201に対する入力操作が終了し、ユーザが、入力装置を操作することにより、登録ボタン1302が押下されると、制約条件入力設定部106は、登録ボタン1302が押下されたときに、制約条件入力欄1301に入力されている内容を記憶媒体に記憶する。
(H)新規制約
 以上の(A)~(G)の制約は、ユーザによって入力される以外の部分は予め定まっている制約である。本実施形態では、これらの制約に加えて、新規の制約条件を設定することができるようにしている。そこで、制約条件入力設定部106は、図14に示す新規制約設定画面1400を表示装置に表示する。図14Aは、新規制約設定画面1400の初期状態の一例を示す図である。図14Bは、新規制約の情報が入力された新規制約設定画面1400の一例を示す図である。
 図14において、新規制約設定画面1400は、GUIであり、変数名リスト1401と、定数名リスト1402と、演算子リスト1403と、新規登録制約入力欄1404と、登録ボタン1405と、追加ボタン1406と、削除ボタン1407と、登録不要ボタン1408とを有する。
 図14に示す新規制約設定画面1400では、変数を選択するための「変数名リスト1401」と、定数を選択するための「定数名リスト1402」と、演算子を選択するための演算子リスト1403と、それらの選択により定式化された制約式を表示する新規登録制約入力欄1404とが設けられる。
 これらへの入力により、「変数(変数名リスト)」と「定数(定数名リスト)」とを「演算子」を用いてオペレータが自由に定式化した制約式を、「新規制約(新規登録制約)」として登録することができる。以下に、各欄の詳細について説明する。
 変数名リスト1401には、変数・定数構築部105により構築された変数が列挙される。全ての変数が列挙されない場合には、変数名リスト1401にスクロールバーを表示することにより、変数をスクロール表示することが可能である。
 定数名リスト1402には、変数・定数構築部105により構築された定数が列挙される。全ての定数が列挙されない場合には、定数名リスト1402にスクロールバーを表示することにより、定数をスクロール表示することが可能である。
 演算子リスト1403には、数理計画法に則って定式化する際に使用される演算子が列挙される。全ての演算子が列挙されない場合には、演算子リスト1403にスクロールバーを表示することにより、演算子をスクロール表示することが可能である。尚、本実施形態では、数理計画法として混合整数計画法(線形計画法)を利用する場合を例に挙げて示すので、混合整数計画法(線形計画法)に則って定式化する際に使用される演算子が列挙される。
 新規登録制約入力欄1404には、変数名リスト1401に表示されている変数、定数名リスト1402に表示されている定数、演算子リスト1403に表示されている演算子の中からユーザが入力装置を操作することにより選択したものが、選択順に、図面に向かって左側から表示される。また、新規登録制約入力欄1404には、ユーザが入力装置を操作することにより、数字を入力することができる。図14Bに示す例では、まず、変数名リスト1401から「終了時刻0000N,組立,機械1」が表示されている領域が指定され、次に、演算子リスト1403から「-」が表示されている領域が指定され、次に、変数名リスト1401から「開始時刻00001,組立,機械1」が表示されている領域が指定され、次に、演算子リスト1403から「≦」が表示されている領域が指定され、最後に、「0.5」が入力されることにより、新規登録制約の最初の入力欄(番号「1」の入力欄)の制約式が表示される。
 ユーザが、入力装置を操作して、新規制約設定画面1400の新規登録制約入力欄1404の特定の行(左端に数字が付されている行)を指定した状態で追加ボタン1406を押下すると、指定された行の次の行に、空欄の入力欄が1つ追加される。このようにすることにより、新規制約を追加することができる。
 また、ユーザが、入力装置を操作して、新規制約設定画面1400の新規登録制約入力欄1404の特定の行(左端に数字が付されている行)を指定した状態で削除ボタン1407を押下すると、指定された行の入力欄(の全て)が削除される。
 以上のようにして、新規制約設定画面1400の新規登録制約入力欄1404に対する入力操作が終了し、ユーザが、入力装置を操作することにより、登録ボタン1405が押下されると、制約条件入力設定部106は、登録ボタン1405が押下されたときに、新規登録制約入力欄1404に入力されている内容を記憶媒体に記憶する。
 また、新規制約を登録しない場合には、ユーザは、入力装置を操作して、登録不要ボタン1408を押下する。このようにすることより、新規制約を登録しないようにすることができる。
 制約条件入力設定部106は、例えば、CPUが、HDD等から工程情報および製品オーダ情報を読み出すと共に、RAM等から変数および定数を読み出して、リソース同時利用制約設定画面700、リソース利用パターン制約設定画面800、リソース利用パターン処理時間制約設定画面900、同一ロット制約設定画面1000、異ロット制約設定画面1100、リソース稼働制約設定画面1200、リソース最大能力制約設定画面1300および新規制約設定画面1400を表示するための表示データを生成して表示装置に出力すると共に、ユーザにより入力された情報により得られる制約をRAM等に記憶することにより実現される。
(目的関数入力設定部107)
 図15は、目的設定画面1500の一例を示す図である。目的関数入力設定部107は、図15に示す目的設定画面1500を表示装置に表示する。尚、目的設定画面1500の初期状態は、図15に示すチェックボックスと、「重要度(0~10)」の文字が示されている領域の列の行が全て未入力の状態となる。
 図15において、目的設定画面1500は、GUIであり、目的関数入力欄1501と、登録ボタン1502とを有する。
 目的関数入力欄1501に表示される「関数番号」は、目的関数の識別情報である。予め設定されている数(目的関数の数)の関数番号が「00001」から昇順に目的関数入力欄1501に表示されている。
 「有効要否」は、目的関数入力欄1501の各行における目的関数を採用するかどうかを示す情報である。本実施形態では、チェックボックスにチェックを入れることにより、当該チェックボックスのある行の情報で特定される目的が採用されるようにしている。
 「品種」と「工程」の文字が表示されている列には、前述したようにして相互に関連付けられて登録された品種および工程の組合せの全てが表示される。
 「目的」の文字が表示されている列には、設定対象の目的がどのような目的であるのかを示す文字が表示されている。この「目的」の内容は、前述した各画面300、500、600、700、800、900、1000、1100、1200、1300での初期属性として登録されているものを基に、予め設定されている。
 「重要度」は、設定対象の目的の重要度を示すものである。「重要度」の文字が表示されている列には、この重要度の値として「0」~「10」の何れかの整数を入力することが可能になっている。
 尚、目的関数入力欄1501に、全ての目的の情報を一度に表示することが出来ない場合には、スクロール表示を行うようにすることができる。
 ユーザは、入力装置を操作して、所望の目的に対応する「有効要否」のチェックボックスをチェックすると共に、「重要度」の欄に重要度の値を入力する。
 以上のようにして、目的設定画面1500の目的関数入力欄1501に対する入力操作が終了し、ユーザが、入力装置を操作することにより、登録ボタン1502が押下されると、目的関数入力設定部107は、登録ボタン1502が押下されたときに、目的関数入力欄1501に入力されている内容を記憶媒体に記憶する。図15に示す目的設定画面1500では、「通常操業」で実行される「加工」の「処理時間最小」を目的とすることと、「特殊操業」で実行される「組立」の「納期遵守」を目的とすることとが採用される。
 以上のように、本実施形態では、目的設定画面1500の目的関数入力欄1501により、相互に関連付けられている品種および工程と、目的の内容を示す文字と、目的の重要度と、を用いて表記された目的関数の内容と、その内容の選択入力欄(チェックボックス)と、が少なくとも表示され、表示された情報の中から、ユーザが所望する情報を選択することにより、設定すべき目的の内容が選択されるようにしている。尚、かかる選択入力欄は、チェックボックスに限定されるものではない。
 図15に示す目的設定画面1500の目的関数入力欄1501に表示される情報は、予め定まっている目的である。本実施形態では、これらの目的に加えて、新規の目的を設定することができるようにしている。そこで、目的関数入力設定部107は、前述したようにして構築された「変数および定数」の選択欄と、演算子の選択欄と、選択された「変数、定数および演算子」の組み合わせからなる目的関数の一部の式の表示欄とを含む新規目的設定画面を表示する。
 具体的に、目的関数入力設定部107は、図16に示す新規目的設定画面1600を表示装置に表示する。図16Aは、新規目的設定画面1600の初期状態の一例を示す図である。図16Bは、新規目的の情報が入力された新規目的設定画面1600の一例を示す図である。
 図16において、新規目的設定画面1600は、GUIであり、変数の選択欄に対応する変数名リスト1601と、定数の選択欄に対応する定数名リスト1602と、演算子の選択欄に対応する演算子リスト1603と、新規登録目的入力欄1604と、登録ボタン1605と、追加ボタン1606と、削除ボタン1607と、登録不要ボタン1608とを有する。
 新規登録目的入力欄1604における入力対象が目的関数であるのに対し、新規登録制約入力欄1404における入力対象が制約式である他は、新規目的設定画面1600は、図14に示した新規制約設定画面1400と同じであるので、ここでは、その詳細な説明を省略する。
 目的関数入力設定部107は、例えば、CPUが、HDD等から工程情報を読み出すと共に、RAM等から変数および定数を読み出して、目的設定画面1500および新規目的設定画面1600を表示するための表示データを生成して表示装置に出力すると共に、ユーザにより入力された情報により得られる目的関数の内容を示すデータをRAM等に記憶することにより実現される。
(定式化部108)
 定式化部108は、変数・定数構築部105で構築された変数および定数と、前述したようにして相互に関連付けられて登録された「品種、工程、リソースおよび製品オーダ」と、制約条件入力設定部106で設定された制約式の内容と、に基づいて制約式を定式化する。以下に本実施形態において定式化される制約式の一例を説明する。
<開始、終了の制約式>
 定式化部108は、変数・定数構築部105で構築された変数を用いて、以下の(1)式に示す制約式を定式化する。
Figure JPOXMLDOC01-appb-M000001
 (1)式は、同一のオーダ番号、同一の工程において、各リソースの使用開始時刻と終了時刻とが逆転してはならないことを表す。尚、(1)式の制約式は、制約条件入力設定部106で設定された制約式の内容とは別の(物理的な理由から定まる)制約式である。
<工程間の制約式>
 定式化部108は、工程入力登録部103により登録された工程情報と、製品オーダ入力登録部104で登録された製品オーダ情報とに基づき、変数・定数構築部105で構築された変数を用いて、以下の(2)式に示す制約式を定式化する。
Figure JPOXMLDOC01-appb-M000002
 その他のオーダ番号00002,・・・,0000Nについても(1)式と同様の制約式が定式化される。
 (2)式は、同一のオーダ番号において、当該オーダ番号の製品オーダに対して定められた工程順で各リソースを使用しなければならないことを表す。
<使用時間の制約式>
 定式化部108は、工程入力登録部103により登録された工程情報と、製品オーダ入力登録部104で登録された製品オーダ情報とに基づき、変数・定数構築部105で構築された変数を用いて、以下の(3)式に示す制約式を定式化する。
Figure JPOXMLDOC01-appb-M000003
 その他のオーダ番号00002,・・・,0000Nについても(1)式と同様の制約式が定式化される。
 (3)式は、同一のオーダ番号、同一の工程における、各リソースの使用時間または使用時間の範囲を表す。
<リソース同時利用制約の制約式>
 定式化部108は、工程入力登録部103により登録された工程情報と、製品オーダ入力登録部104で登録された製品オーダ情報と、図7に示すリソース同時利用制約設定画面700を用いて制約条件入力設定部106により設定されたリソース同時利用制約の内容と、に基づき、変数・定数構築部105で構築された変数および定数を用いて、以下の(4)式に示す制約式を定式化する。
Figure JPOXMLDOC01-appb-M000004
 (4)式において、Mは十分に大きな正の値である。
 (4)式と同様の制約式が、オーダ番号00001,0000N、オーダ番号00002,0000Nについても定式化される。
<リソース利用パターン制約の制約式>
 定式化部108は、工程入力登録部103により登録された工程情報と、製品オーダ入力登録部104で登録された製品オーダ情報と、図8に示すリソース利用パターン制約設定画面800を用いて制約条件入力設定部106により設定されたリソース利用パターン制約の内容とに基づき、変数・定数構築部105で構築された変数を用いて、以下の(5)式に示す制約式を定式化する。
 (5)式において、Mは十分に大きな正の値である。
<リソース利用パターン処理時間制約の制約式>
 定式化部108は、工程入力登録部103により登録された工程情報と、製品オーダ入力登録部104で登録された製品オーダ情報と、図9に示すリソース利用パターン処理時間制約設定画面900を用いて制約条件入力設定部106により設定されたリソース利用パターン処理時間制約の内容と、に基づき、変数・定数構築部105で構築された変数を用いて、以下の(6)式に示す制約式を定式化する。
Figure JPOXMLDOC01-appb-M000006
 (6)式において、Mは十分に大きな正の値である。
 オーダ番号00002についても(6)式と同様の制約式が定式化される。
<同一ロット制約の制約式>
 定式化部108は、工程入力登録部103により登録された工程情報と、製品オーダ入力登録部104で登録された製品オーダ情報と、図10に示す同一ロット制約設定画面1000を用いて制約条件入力設定部106により設定された同一ロット制約の内容と、に基づき、変数・定数構築部105で構築された変数を用いて、以下の(7)式に示す制約式を定式化する。
Figure JPOXMLDOC01-appb-M000007
<異ロット制約の制約式>
 定式化部108は、工程入力登録部103により登録された工程情報と、製品オーダ入力登録部104で登録された製品オーダ情報と、図11に示す異ロット制約設定画面1100を用いて制約条件入力設定部106により設定された異ロット制約の内容と、に基づき、変数・定数構築部105で構築された変数を用いて、以下の(8)式に示す制約式を定式化する。
Figure JPOXMLDOC01-appb-M000008
<リソース稼働制約の制約式>
 定式化部108は、工程入力登録部103により登録された工程情報と、製品オーダ入力登録部104で登録された製品オーダ情報と、図12に示すリソース稼働制約設定画面1200を用いて制約条件入力設定部106により設定されたリソース稼働制約の内容と、に基づき、変数・定数構築部105で構築された変数を用いて、以下の(9)式に示す制約式を定式化する。
Figure JPOXMLDOC01-appb-M000009
 (9)式において、Mは十分に大きな正の値である。
 (9)式と同様の制約式が、「機械2」についても定式化される。
<リソース最大能力制約の制約式>
 定式化部108は、工程入力登録部103により登録された工程情報と、製品オーダ入力登録部104で登録された製品オーダ情報と、図13に示すリソース最大能力制約設定画面1300を用いて制約条件入力設定部106により設定されたリソース最大能力制約の内容と、に基づき、変数・定数構築部105で構築された変数および定数を用いて、以下の(10)式に示す制約式を定式化する。
Figure JPOXMLDOC01-appb-M000010
 (10)式において、Mは十分に大きな正の値である
 (10)式と同様の制約式が、「機械2」についても定式化される。
 以上で制約式が定式化される。尚、新規制約については、図14に示す新規制約設定画面1400を用いて設定された内容で定式化される。
<目的関数の定式化>
 次に、定式化部108は、変数・定数構築部105で構築された変数および定数と、前述したようにして相互に関連付けられて登録された「品種、工程、リソースおよび製品オーダ」と、目的関数入力設定部107で設定された目的の内容とに基づいて目的関数を定式化する。以下に本実施形態において定式化される目的関数の一例を説明する。
 定式化部108は、図15に示す目的設定画面1500と、図16に示す新規目的設定画面1600とを用いて目的関数入力設定部107により設定された目的の内容に基づき、変数・定数構築部105で構築された変数および定数を用いて、以下の(11)式に示す目的関数を定式化する。
Figure JPOXMLDOC01-appb-M000011
 定式化部108は、例えば、CPUが、HDD等から工程情報および製品オーダ情報を読み出すと共に、RAM等から変数、定数、制約・目的の内容を読み出して、以上の制約式と目的関数を構築し、そのデータをRAM等に記憶することにより実現される。
(計画作成部109)
 計画作成部109は、例えば混合整数計画法による最適化計算を行って、定式化部108で定式化された制約式に基づく制約を満足する範囲で、定式化部108で定式化された目的関数Fを最小にする決定変数(開始時刻オーダ番号,工程名,リソース名、終了時刻オーダ番号,工程名,リソース名)を生産計画として求める。
 計画作成部109は、例えば、CPUが、RAM等から、定式化された目的関数および制約式のデータを読み出して、生産計画を求め、その結果をRAM等に記憶することにより実現される。
(計画表示部110)
 計画表示部110は、計画作成部109で得られた生産計画(開始時刻オーダ番号,工程名,リソース名、終了時刻オーダ番号,工程名,リソース名)を表示装置に表示する。
 計画表示部110は、例えば、CPUが、RAM等から、決定変数(開始時刻オーダ番号,工程名,リソース名、終了時刻オーダ番号,工程名,リソース名)を読み出して、生産計画の表示データを生成し、表示装置に出力することにより実現される。
(計画管理部111)
 計画管理部111は、計画作成部109で得られた生産計画(開始時刻オーダ番号,工程名,リソース名、終了時刻オーダ番号,工程名,リソース名)のデータを管理する。より具体的には、計画管理部111は、生産計画を立案する際にオペレータによりスケジューリング装置100に対して入力された入力情報と、生産計画の立案結果を示す立案結果情報とをセットで記憶媒体に記憶し、必要に応じて(オペレータからの要求等に応じて)、それらを取り出して出力する。このようにすることにより、例えば、前回生産計画を立案したときに使用した入力情報を少し変更して、再度新たな生産計画を立案して、保持することができる。また、この機能を実現することで、少し条件(入力情報)の違う場合の生産計画の立案の結果を比較すること等が可能となる。
 計画管理部111は、例えば、CPUが、RAM等から、生産計画のデータを読み出して、HDD等に記憶する等ことにより実現される。
(計画出力部112)
 計画出力部112は、計画管理部111により管理されている生産計画(開始時刻オーダ番号,工程名,リソース名、終了時刻オーダ番号,工程名,リソース名)のデータを出力する。例えば、計画出力部112は、ユーザによる入力装置の操作に基づいて、生産計画に係る信号を、ネットワークを介して外部装置120に送信したり、生産計画に係るデータを可搬型の記憶媒体に記憶したりすることができる。
 ユーザによる入力装置の操作に基づいて、計画管理部111により管理されている生産計画(開始時刻オーダ番号,工程名,リソース名、終了時刻オーダ番号,工程名,リソース名)の中から、必要なもの(開始時刻オーダ番号,工程名,リソース名、終了時刻オーダ番号,工程名,リソース名)を選択することができる。この場合、計画出力部112は、計画管理部111により管理されている生産計画のうち、選択した生産計画のデータのみを出力する。
 リソース名で特定されるリソースが作業員等の人的資源である場合と、当該リソースが作業員等の人的資源の作業が必要になる物的資源である場合、計画出力部112は、当該人的資源が参照する表示装置に、生産計画(開始時刻オーダ番号,工程名,リソース名、終了時刻オーダ番号,工程名,リソース名)の内容を示す情報を表示させることを指示するための表示指示信号を、生産計画に係る信号として送信する。この場合、表示装置、または表示装置に生産計画(開始時刻オーダ番号,工程名,リソース名、終了時刻オーダ番号,工程名,リソース名)の内容を示す情報を表示させる処理を行う情報処理装置が外部装置120になる。表示装置または情報処理装置は、当該生産計画に係る信号に基づく生産計画の内容を表示する表示データを生成し、表示装置に表示する。表示装置は、例えば、人的資源の待機場所に配置される。
 リソース名で特定されるリソースが作業員等の人的資源である場合、生産計画の内容を示す情報の表示に基づいて、作業員等の人的資源は、自身が担当する作業の開始時刻と終了時刻とを特定し、当該開始時刻に作業を開始し、当該終了時刻に作業を終了する。
 リソース名で特定されるリソースが作業員等の人的資源の作業が必要になる物的資源である場合、生産計画の内容を示す情報の表示に基づいて、作業員等の人的資源は、自身が作業を行う物的資源に対する作業の開始時刻と終了時刻とを特定し、当該開始時刻に当該物的資源における作業を開始し、当該終了時刻に当該物的資源における作業を終了する。その結果、物的資源は、生産計画に係る信号に基づく生産計画に従うことになる。
 リソース名で特定されるリソースが作業員等の人的資源の作業を必要としないものである場合、計画出力部112は、生産計画(開始時刻オーダ番号,工程名,リソース名、終了時刻オーダ番号,工程名,リソース名)に従って、各工程において開始時刻に動作を開始し、終了時刻に動作を終了することを各リソースに指示するための制御信号を、生産計画に係る信号として該当するリソースに送信する。この場合には、リソースが外部装置120になる。各リソースは、計画出力部112から送信された制御信号に基づいて、自動的に動作する。
 以上のように、リソース名で特定されるリソースが人的資源の作業を必要とせず、自動的に動作するものである場合には、スケジューリング装置は、リソースの動作を制御するリソース制御装置としての機能を有する。この場合、リソース制御装置としての機能を有するスケジューリング装置100と、1つ又は複数のリソースと、を有するスケジュール管理システムを構成することができる。この場合、前述したように、リソースは、計画出力部112から受信した生産計画に係る信号(制御信号)に基づいて、動作の開始時刻と終了時刻とを特定し、当該開始時刻に動作を開始し、当該終了時刻に動作を終了することを自動的に行う。
 また、計画出力部112から送信される生産計画に係る信号を、前述した情報処理装置やリソース(物的資源)に直接的に送信せずに、プロセスコンピュータを介して送信してもよい。この場合、外部装置120は、プロセスコンピュータになる。
 計画出力部112は、例えば、CPUが、HDD等から、生産計画のデータを読み出して、インターフェースを介して、スケジューリング装置100の外部に出力することにより実現される。
(スケジューリング装置100の動作フローチャート)
 次に、図17のフローチャートを参照しながら、スケジューリング装置100の処理動作の一例を説明する。
 まず、図17AのステップS1701において、リソース入力登録部101は、リソース登録画面300を表示する。
 次に、ステップS1702において、リソース入力登録部101は、リソース登録画面300に対する操作が、登録ボタン302の押下であるか否かを判定する。この判定の結果、リソース登録画面300に対する操作が、登録ボタン302の押下でない場合には、ステップS1701に戻り、リソース入力登録部101は、当該操作の内容に応じて、リソース登録画面300の表示内容を変更する。
 そして、リソース登録画面300に対して、登録ボタン302の押下があると、ステップS1703に進む。ステップS1703に進むと、リソース入力登録部101は、リソース入力欄301に入力されている内容(リソース情報)を記憶媒体に記憶する。
 次に、ステップS1704において、品種入力登録部102は、品種登録画面400を表示する。
 次に、ステップS1705において、品種入力登録部102は、品種登録画面400に対する操作が、登録ボタン402の押下であるか否かを判定する。この判定の結果、品種登録画面400に対する操作が、登録ボタン402の押下でない場合には、ステップS1704に戻り、品種入力登録部102は、当該操作の内容に応じて、品種登録画面400の表示内容を変更する。
 そして、品種登録画面400に対して、登録ボタン402の押下があると、ステップS1706に進む。ステップS1706に進むと、品種入力登録部102は、品種入力欄401に入力されている内容(品種情報)を記憶媒体に記憶する。
 次に、ステップS1707において、工程入力登録部103は、工程登録画面500を表示する。
 次に、ステップS1708において、工程入力登録部103は、工程登録画面500に対する操作が、登録ボタン402の押下であるか否かを判定する。この判定の結果、工程登録画面500に対する操作が、登録ボタン502の押下でない場合には、ステップS1707に戻り、工程入力登録部103は、当該操作の内容に応じて、工程登録画面500の表示内容を変更する。
 そして、工程登録画面500に対して、登録ボタン502の押下があると、ステップS1709に進む。ステップS1709に進むと、工程入力登録部103は、各品種における工程入力欄501に入力されている内容(工程情報)を記憶媒体に記憶する。
 次に、ステップS1710において、製品オーダ入力登録部104は、製品オーダ登録画面600を表示装置に表示する。
 次に、ステップS1711において、製品オーダ入力登録部104は、製品オーダ登録画面600に対する操作が、登録ボタン602の押下であるか否かを判定する。この判定の結果、製品オーダ登録画面600に対する操作が、登録ボタン602の押下でない場合には、ステップS1710に戻り、製品オーダ入力登録部104は、当該操作の内容に応じて、製品オーダ登録画面600の表示内容を変更する。
 そして、製品オーダ登録画面600に対して、登録ボタン602の押下があると、ステップS1712に進む。ステップS1712に進むと、製品オーダ入力登録部104は、製品オーダ入力欄601に入力されている内容(製品オーダ情報)を記憶媒体に記憶する。
 次に、図17BのステップS1713において、変数・定数構築部105は、工程情報と、製品オーダ情報とを用いて、変数(開始時刻オーダ番号,工程名,リソース名・終了時刻オーダ番号,工程名,リソース名、使用可否オーダ番号,工程名,リソース名、前後判断オーダ番号, オーダ番号,工程名,リソース名)と定数(使用開始可能日リソース名)を構築する。
 次に、ステップS1714において、制約条件入力設定部106は、リソース同時利用制約設定画面700を表示する。
 次に、ステップS1715において、制約条件入力設定部106は、リソース同時利用制約設定画面700に対する操作が、登録ボタン702の押下であるか否かを判定する。この判定の結果、リソース同時利用制約設定画面700に対する操作が、登録ボタン702の押下でない場合には、ステップS1714に戻り、制約条件入力設定部106は、当該操作の内容に応じて、リソース同時利用制約設定画面700の表示内容を変更する。
 そして、リソース同時利用制約設定画面700に対して、登録ボタン702の押下があると、ステップS1716に進む。ステップS1716に進むと、制約条件入力設定部106は、制約条件入力欄701に入力されている内容(リソース同時利用制約の内容)を記憶媒体に記憶する。
 次に、ステップS1717において、制約条件入力設定部106は、リソース利用パターン制約設定画面800を表示する。
 次に、ステップS1718において、制約条件入力設定部106は、リソース利用パターン制約設定画面800に対する操作が、登録ボタン802の押下であるか否かを判定する。この判定の結果、リソース利用パターン制約設定画面800に対する操作が、登録ボタン802の押下でない場合には、ステップS1717に戻り、制約条件入力設定部106は、当該操作の内容に応じて、リソース利用パターン制約設定画面800の表示内容を変更する。
 そして、リソース利用パターン制約設定画面800に対して、登録ボタン802の押下があると、ステップS1719に進む。ステップS1719に進むと、制約条件入力設定部106は、制約条件入力欄801に入力されている内容(リソース利用パターン制約の内容)を記憶媒体に記憶する。
 次に、ステップS1720において、制約条件入力設定部106は、リソース利用パターン処理時間制約設定画面900を表示する。
 次に、ステップS1721において、制約条件入力設定部106は、リソース利用パターン処理時間制約設定画面900に対する操作が、登録ボタン902の押下であるか否かを判定する。この判定の結果、リソース利用パターン処理時間制約設定画面900に対する操作が、登録ボタン902の押下でない場合には、ステップS1720に戻り、制約条件入力設定部106は、当該操作の内容に応じて、リソース利用パターン処理時間制約設定画面900の表示内容を変更する。
 そして、リソース利用パターン処理時間制約設定画面900に対して、登録ボタン902の押下があると、ステップS1722に進む。ステップS1722に進むと、制約条件入力設定部106は、制約条件入力欄901に入力されている内容(リソース利用パターン処理時間制約の内容)を記憶媒体に記憶する。
 次に、ステップS1723において、制約条件入力設定部106は、同一ロット制約設定画面1000を表示する。
 次に、ステップS1724において、制約条件入力設定部106は、同一ロット制約設定画面1000に対する操作が、登録ボタン1002の押下であるか否かを判定する。この判定の結果、同一ロット制約設定画面1000に対する操作が、登録ボタン1002の押下でない場合には、ステップS1723に戻り、制約条件入力設定部106は、当該操作の内容に応じて、同一ロット制約設定画面1000の表示内容を変更する。
 そして、同一ロット制約設定画面1000に対して、登録ボタン1002の押下があると、ステップS1725に進む。ステップS1725に進むと、制約条件入力設定部106は、制約条件入力欄1001に入力されている内容(同一ロット制約の内容)を記憶媒体に記憶する。
 次に、図17CのステップS1726において、制約条件入力設定部106は、異ロット制約設定画面1100を表示する。
 次に、ステップS1727において、制約条件入力設定部106は、異ロット制約設定画面1100に対する操作が、登録ボタン1102の押下であるか否かを判定する。この判定の結果、異ロット制約設定画面1100に対する操作が、登録ボタン1102の押下でない場合には、ステップS1726に戻り、制約条件入力設定部106は、当該操作の内容に応じて、異ロット制約設定画面1100の表示内容を変更する。
 そして、異ロット制約設定画面1100に対して、登録ボタン1102の押下があると、ステップS1728に進む。ステップS1728に進むと、制約条件入力設定部106は、制約条件入力欄1101に入力されている内容(異ロット制約の内容)を記憶媒体に記憶する。
 次に、ステップS1729において、制約条件入力設定部106は、リソース稼働制約設定画面1200を表示する。
 次に、ステップS1730において、制約条件入力設定部106は、リソース稼働制約設定画面1200に対する操作が、登録ボタン1202の押下であるか否かを判定する。この判定の結果、リソース稼働制約設定画面1200に対する操作が、登録ボタン1202の押下でない場合には、ステップS1729に戻り、制約条件入力設定部106は、当該操作の内容に応じて、リソース稼働制約設定画面1200の表示内容を変更する。
 そして、リソース稼働制約設定画面1200に対して、登録ボタン1202の押下があると、ステップS1731に進む。ステップS1731に進むと、制約条件入力設定部106は、制約条件入力欄1201に入力されている内容(リソース稼働制約の内容)を記憶媒体に記憶する。
 次に、ステップS1732において、制約条件入力設定部106は、リソース最大能力制約設定画面1300を表示する。
 次に、ステップS1733において、制約条件入力設定部106は、リソース最大能力制約設定画面1300に対する操作が、登録ボタン1302の押下であるか否かを判定する。この判定の結果、リソース最大能力制約設定画面1300に対する操作が、登録ボタン1302の押下でない場合には、ステップS1732に戻り、制約条件入力設定部106は、当該操作の内容に応じて、リソース最大能力制約設定画面1300の表示内容を変更する。
 そして、リソース最大能力制約設定画面1300に対して、登録ボタン1302の押下があると、ステップS1734に進む。ステップS1734に進むと、制約条件入力設定部106は、制約条件入力欄1301に入力されている内容(リソース最大能力制約の内容)を記憶媒体に記憶する。
 次に、ステップS1735において、制約条件入力設定部106は、新規制約設定画面1400を表示する。
 次に、ステップS1736において、制約条件入力設定部106は、新規制約設定画面1400に対する操作が、登録ボタン1405の押下であるか否かを判定する。この判定の結果、新規制約設定画面1400に対する操作が、登録ボタン1405の押下でない場合には、ステップS1737に進む。
 ステップS1737に進むと、制約条件入力設定部106は、新規制約設定画面1400に対する操作が、登録不要ボタン1408の押下であるか否かを判定する。この判定の結果、新規制約設定画面1400に対する操作が、登録不要ボタン1408の押下でない場合には、ステップS1735に戻り、制約条件入力設定部106は、当該操作の内容に応じて、新規制約設定画面1400の表示内容を変更する。
 一方、新規制約設定画面1400に対する操作が、登録不要ボタン1408の押下である場合には、ステップS1738を省略して後述するステップS1739に進む。
 ステップS1736において、新規制約設定画面1400に対する操作が、登録ボタン1405の押下であると判定されると、ステップS1738に進む。ステップS1738に進むと、制約条件入力設定部106は、新規登録制約入力欄1404に入力されている内容(新規制約の内容(制約式))を記憶媒体に記憶する。そして、ステップS1739に進む。
 ステップS1739に進むと、目的関数入力設定部107は、目的設定画面1500に表示する。
 次に、ステップS1740において、目的関数入力設定部107は、目的設定画面1500に対する操作が、登録ボタン1502の押下であるか否かを判定する。この判定の結果、目的設定画面1500に対する操作が、登録ボタン1502の押下でない場合には、ステップS1739に戻り、目的関数入力設定部107は、当該操作の内容に応じて、目的設定画面1500の表示内容を変更する。
 そして、目的設定画面1500に対して、登録ボタン1502の押下があると、ステップS1741に進む。ステップS1741に進むと、目的関数入力設定部107は、目的関数入力欄1501の内容(「有効要否」のチェックボックスでチェックされている目的の内容)を記憶媒体に記憶する。
 次に、図17DのステップS1742において、目的関数入力設定部107は、新規目的設定画面1600を表示する。
 次に、ステップS1743において、目的関数入力設定部107は、新規目的設定画面1600に対する操作が、登録ボタン1605の押下であるか否かを判定する。この判定の結果、新規目的設定画面1600に対する操作が、登録ボタン1605の押下でない場合には、ステップS1737に進む。
 ステップS1744に進むと、目的関数入力設定部107は、新規目的設定画面1600に対する操作が、登録不要ボタン1608の押下であるか否かを判定する。この判定の結果、新規目的設定画面1600に対する操作が、登録不要ボタン1608の押下でない場合には、ステップS1742に戻り、目的関数入力設定部107は、当該操作の内容に応じて、新規目的設定画面1600の表示内容を変更する。
 一方、新規目的設定画面1600に対する操作が、登録不要ボタン1608の押下である場合には、ステップS1745を省略して後述するステップS1746に進む。
 ステップS1743において、新規目的設定画面1600に対する操作が、登録ボタン1605の押下であると判定されると、ステップS1745に進む。ステップS1745に進むと、目的関数入力設定部107は、新規登録目的入力欄1604に入力されている内容(新規目的の内容)を記憶媒体に記憶する。そして、ステップS1746に進む。
 ステップS1746に進むと、定式化部108は、ステップS1713で構築された変数および定数と、ステップS1709で登録された工程情報・ステップS1712で登録された製品オーダ情報(相互に関連付けられて登録された「品種、工程、製品オーダ、リソース」の情報)と、ステップS1716・S1719・S171722・S1725・S1728・S1731・S1734で設定された制約の内容と、に基づいて制約式を定式化する((1)式~(10)式を参照)。
 次に、ステップS1747において、定式化部108は、ステップS1713で構築された変数および定数と、ステップS1709で登録された工程情報・ステップS1712で登録された製品オーダ情報(相互に関連付けられて登録された「品種、工程、製品オーダ、リソース」の情報)と、ステップS1741・S1745で設定された目的の内容と、に基づいて目的関数を定式化する((11)式を参照)。
 次に、ステップS1748において、計画作成部109は、例えば混合整数計画法による最適化計算を行って、ステップS1746で定式化された制約式に基づく制約を満足する範囲で、ステップS1747で定式化された目的関数Fを最小にする決定変数(開始時刻オーダ番号,工程名,リソース名、終了時刻オーダ番号,工程名,リソース名等)を求める。
 次に、ステップS1749において、計画管理部111は、ステップS1748で得られた生産計画のデータを記憶する。
 次に、ステップS1750において、計画表示部110は、ステップS1748で得られた生産計画を表示する。
 そして、図17のフローチャートによる処理を終了する。
(まとめ)
 以上のように本実施形態では、リソース、品種、工程および製品オーダを相互に関連付けて登録する。これら登録された情報から、目的関数と制約式を数理計画法に則って定式化する際に使用する変数と定数を構築する。これら相互に関連付けられた「品種、工程、およびリソース」の識別情報の選択入力欄を用いて表記した制約式の内容を含む制約設定画面を表示する。この制約設定画面に対するユーザの選択入力の結果に基づいて、制約の内容を設定する。そして、構築した変数および定数と、相互に関連付けた「品種、工程、およびリソース」の情報と、設定した制約の内容とに基づいて制約式を定式化する。
 また、これら相互に関連付けられた「品種および工程」と、目的の内容を示す文字情報と、当該目的の重要度とを用いて記述した目的の内容と、その選択入力欄と、を含む目的設定画面を表示する。この目的設定画面に対するユーザの選択入力の結果に基づいて、目的の内容を登録する。そして、構築した変数および定数と、相互に関連付けた「品種、工程、およびリソース」の情報と、設定した制約の内容とに基づいて制約式を定式化する。
 よって、高度な数学的専門知識をもたない一般のユーザに対して、従来よりも多様な生産計画を、数理計画法を用いて立案する仕組みを提供することができる。また、数理計画法を用いて生産計画を立案する際に、ユーザが誤入力することを防止することができる。その結果、生産計画の立案に要するトータルの時間を削減することができる。さらに、数理計画法を用いて生産計画を立案するので、数学的に最適性が保証された生産計画を立案することができる。このような数学的に最適性が保証された生産計画に従って製品を生産することにより、効率よく製品を生産することができる。
 リソース、品種、工程および製品オーダに対して明確に、生産計画に必要となる事項を定義、準備することで、特段の数学的な知識を持たないユーザに、生産計画に必要となる事項を洗い出して新たに定義させる必要がなくなる。すなわち、ユーザは、スケジューリング装置100から提示される画面に従い必要事項を埋めるための操作を行うだけで、簡易かつ迅速に、かつ広い対象に対して、数学的に最適性が保証された生産計画を立案することができる。
 また、本実施形態では、構築した変数および定数の選択欄と、演算子の選択欄とを含む新規制約設定画面を表示する。そして、この新規制約設定画面に対するユーザの選択入力の結果に基づいて、新規の制約式を定式化する。
 さらに、本実施形態では、構築した変数および定数の選択欄と、演算子の選択欄とを含む新規目的設定画面を表示する。そして、この新規制約設定画面に対するユーザの選択入力の結果に基づいて、目的関数の内容を追加する。
 よって、より汎用的な生産計画を、数理計画法を用いて立案することができる。ここでは、製品オーダ別・工程別・リソース別の開始時刻および終了時刻という分かりやすい変数を用いて定式化を実現しているため、特段の数学的な知識を持たないユーザにおいても、定式化のために入力すべき情報を簡単に理解できる。すなわち、特段の数学的な知識を持たないユーザにおいても、数理計画法を意識することなく、制約式と目的関数とを追加することができる。したがって、数学的に最適性が保証された生産計画を柔軟に立案することができる。
 くわえて、リソースの処理時間をできるだけ少なくする、或いは要求される納期を可能な限り遵守する等、実操業で満足させる必要があり、かつ生産計画を立案する上では特別な知識がないと実現できない要求に対して、特段の数学的な知識を持たないユーザにおいても、簡単に、数学的に最適性が保証された生産計画を柔軟に立案することができる。
 また、リソースの属性、工程の属性および製品オーダ情報の属性を追加することができるようにした。よって、より一層汎用的な生産計画を、数理計画法を用いて立案することができる。
(変形例)
 本実施形態では、生産計画を立案する場合を例に挙げて説明した。しかしながら、本実施形態は、物流計画にも適用することもできる。この場合、目的関数および制約式の変数・定数や、目的および制約を表現するための用語が、物流計画に適した用語に置き換わることは勿論である。
 また、本実施形態では、リソース情報、品種情報、工程情報および製品オーダ情報を、画面に対する入力に基づいて作成する場合を例に挙げて説明した。しかしながら、例えば、これらの情報を、スケジューリング装置100とは別の情報処理装置で作成し、作成した情報をスケジューリング装置100に取り込んで登録してもよい。
 また、本実施形態では、目的関数が重み付き線形和で表される場合を例に挙げて説明した。しかしながら、目的関数は、重み付き線形和に限定されない。例えば、(11)式の右辺の「10×(終了時刻0000N,組立,機械L-1-納期0000N)」を、「10×(終了時刻0000N,組立,機械L-1-納期0000N」としてもよい。すなわち、数理計画法は、混合整数計画法に限定されず、例えば、混合整数2次計画法でもよい。尚、本実施形態では、目的関数を最小化する場合を例に挙げて説明したが、目的に応じて目的関数を最大化するようにしてもよい。
(ハードウェア構成)
 図18は、スケジューリング装置100のハードウェア構成の一例を示す図である。
 図18に示すように、スケジューリング装置100は、CPU(Central
Processing Unit)1801と、ROM(Read Only Memory)1802と、RAM(Random Access Memory)1803と、PD(Pointing
Device)1804と、HD(Hard Disk)1805と、表示装置1806と、スピーカ1807と、通信I/F(Interface)1808と、システムバス1809とを有している。
 CPU1801は、スケジューリング装置100における動作を統括的に制御するものであり、システムバス1809を介して、スケジューリング装置100の各構成部(1802~1808)を制御する。
 ROM1802は、CPU1801の制御プログラムであるBIOS(Basic
Input/Output System)やオペレーティングシステムプログラム(OS)、CPU1801が前述した処理を実行するために必要なプログラム等を記憶する。
 RAM1803は、CPU1801の主メモリ、ワークエリア等として機能する。CPU1801は、処理の実行に際して、ROM1802から必要なコンピュータプログラム等や、HD1805から必要な情報等をRAM1803にロードし、当該コンピュータプログラム等や当該情報等の処理を実行することで各種の動作を実現する。
 PD1804は、例えば、マウスやキーボード等からなり、操作者が必要に応じて、スケジューリング装置100に対して操作入力を行うための操作入力手段を構成する。
 HD1805は、各種の情報やデータ、ファイル等を記憶する記憶手段を構成する。
 表示装置1806は、CPU1801の制御に基づいて、各種の情報を表示する表示手段を構成する。
 スピーカ1807は、CPU1801の制御に基づいて、各種の情報に係る音声を出力する音声出力手段を構成する。
 通信I/F1808は、CPU1801の制御に基づいて、外部装置とネットワークを介して各種の情報等の通信を行う。
 システムバス1809は、CPU1801、ROM1802、RAM1803、PD1804、HD1805、表示装置1806、スピーカ1807及び通信I/F1808を相互に通信可能に接続するためのバスである。
 尚、以上説明した本発明の実施形態は、コンピュータがプログラムを実行することによって実現することができる。また、前記プログラムを記録したコンピュータ読み取り可能な記録媒体および前記プログラム等のコンピュータプログラムプロダクトも本発明の実施形態として適用することができる。記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、CD-ROM、磁気テープ、不揮発性のメモリカード、ROM等を用いることができる。
 また、以上説明した本発明の実施形態は、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、またはその主要な特徴から逸脱することなく、様々な形で実施することができる。
(請求項との関係)
<請求項1、15、29>
 登録手段(工程)は、例えば、リソース入力登録部101が、ステップS1703を実行することと、品種入力登録部102が、ステップS1706を実行することと、工程入力登録部103が、ステップS1709を実行することと、製品オーダ入力登録部104が、ステップS1712を実行することにより実現される(図2も参照)。
 構築手段(工程)は、例えば、変数・定数構築部105が、ステップS1713を実行することにより実現される。
 「注文別・工程別・リソース別の開始時刻および終了時刻」は、例えば、開始時刻オーダ番号,工程名,リソース名、終了時刻オーダ番号,工程名,リソース名に対応する。
 制約設定手段(工程)は、例えば、制約条件入力設定部106が、ステップS1714、S1716、S1717、S1719、S1720、S1722、S1723、S1725、S1726、ステップ1728、S1729、S1731、S1732、S1734を実行することにより実現される。
 「前記品種、前記工程、および前記リソースの識別情報の少なくとも1つの選択入力欄」は、例えば、制約条件入力欄701、801、901、1001、1101、1201、1301に対応する。
 目的設定手段(工程)は、例えば、目的関数入力設定部107が、ステップS1739、S1741を実行することにより実現される。
 「前記品種および前記工程の識別情報と、前記目的関数による目的とを入力するための選択入力欄」は、例えば、目的関数入力欄1501に対応する。
 制約式定式化手段(工程)は、例えば、定式化部108が、ステップS1746を実行することにより実現される。
 目的関数定式化手段(工程)は、例えば、定式化部108が、ステップS1747を実行することにより実現される。
 計画作成手段(工程)は、例えば、計画作成部109が、ステップS1748を実行することにより実現される。
<請求項2、16>
 リソース登録画面表示手段(工程)は、例えば、リソース入力登録部101が、ステップS1701を実行することにより実現される。
 「予め設定されている当該リソースの属性情報であって、前記目的関数および前記制約式の少なくとも何れか一方における定数となる属性情報」は、例えば、図3Aの「最大能力」および「最小利用間隔」の情報に対応する。
<請求項3、17>
 リソース登録画面表示手段(工程)は、例えば、リソース入力登録部101が、ステップS1701~S1702を実行することにより実現される。
 「前記目的関数および前記制約式の少なくとも何れか一方における定数となる属性情報の入力欄」は、例えば、図3Bの「使用可能開始日」の入力欄に対応する。
<請求項4、18>
 品種登録画面表示手段(工程)は、例えば、品種入力登録部102が、ステップS1704を実行することにより実現される。
<請求項5、19>
 工程登録画面表示手段(工程)は、例えば、工程入力登録部103が、ステップS1707を実行することにより実現される。
 登録手段(工程)は、例えば、工程入力登録部103が、ステップS1709を実行することにより実現される。
 「前記工程登録画面における前記リソースの入力欄」は、例えば、工程登録画面500の「『機械1』、『機械2』、・・・『機械L-1』、『機械L』」の選択入力欄に対応する。
<請求項6、20>
 工程登録画面表示手段(工程)は、例えば、工程入力登録部103が、ステップS1707~S1708を実行することにより実現される。
<請求項7、21>
 製品オーダ登録画面表示手段(工程)は、例えば、製品オーダ入力登録部104が、ステップS1710を実行することにより実現される。
 「前記製品オーダ登録画面における前記品種の入力欄」は、例えば、製品オーダ登録画面600の「品種」の選択入力欄に対応する。
<請求項8、22>
 製品オーダ登録画面表示手段(工程)は、例えば、製品オーダ入力登録部104が、ステップS1710、S1711を実行することにより実現される。
<請求項9、23>
 新規制約設定画面表示手段(工程)は、例えば、制約条件入力設定部106が、ステップS1735を実行することにより実現される。
<請求項10、24>
 新規目的設定画面表示手段(工程)は、例えば、目的関数入力設定部107が、ステップS1745を実行することにより実現される。
 「前記新規目的設定画面表示手段により表示された新規目的設定画面に対するユーザの操作に基づく目的の内容」は、例えば、目的関数入力欄1501の「有効要否」のチェックボックスにチェックが入れられている行に示されている内容に対応する。
<請求項11、25>
 計画出力手段(工程)は、例えば、計画出力部112が、生産計画に係る信号を外部装置120に送信することにより実現される。
 本発明は、生産或いは物流を行う用途等に適用できる。

Claims (29)

  1.  製品の注文の内容を示す製品オーダと、
     前記製品の生産または物流の過程で実行される処理である工程と、
     前記工程で使用される人的資源および物的資源であるリソースと、
     前記製品の生産または物流の過程で実行される各工程と、当該各工程の実行順と、当該各工程のそれぞれで使用されるリソースと、が同じである注文を1つのまとまりとして他と区別するための識別情報である品種と、のそれぞれの情報を用いて、生産計画または物流計画を数理計画法により自動的に立案するスケジューリング装置であって、
     前記リソースと前記工程、前記工程と前記品種、および前記品種と前記製品オーダを、それぞれ相互に関連付けて記憶媒体に登録する登録手段と、
     前記登録手段により相互に関連付けられた、前記品種、前記工程、前記リソース、および前記製品オーダに基づいて、目的関数と制約式を前記数理計画法に則って定式化する際に使用する決定変数として、製品オーダ別・工程別・リソース別の開始時刻および終了時刻を含む変数を構築する構築手段と、
     前記登録手段により相互に関連付けられた、前記品種、前記工程、および前記リソースの識別情報の少なくとも1つを入力するための選択入力欄へのユーザの前記識別情報の入力操作に基づいて、前記制約式の内容を設定する制約設定手段と、
     前記登録手段により相互に関連付けられた、前記品種および前記工程の識別情報と、前記目的関数による目的とを入力するための選択入力欄へのユーザの前記識別情報と前記目的との入力操作に基づいて、前記目的関数の内容を設定する目的設定手段と、
     前記登録手段により相互に関連付けられた、前記品種、前記工程、前記リソース、および前記製品オーダと、前記制約設定手段により設定された制約式の内容と、に基づいて、前記構築手段により構築された変数を用いて、前記制約式を定式化する制約式定式化手段と、
     前記登録手段により相互に関連付けられた、前記品種、前記工程、前記リソース、および前記製品オーダと、前記目的設定手段により設定された目的関数の内容と、に基づいて、前記構築手段により構築された変数を用いて、前記目的関数を定式化する目的関数定式化手段と、
     前記制約式定式化手段により定式化された制約式に基づく制約を満足する範囲で、前記目的関数定式化手段により定式化された目的関数を最大または最小にする前記決定変数を、前記数理計画法による最適化計算を行うことにより導出する計画作成手段と、
    を有することを特徴とするスケジューリング装置。
  2.  前記登録手段は、
     前記リソースの識別情報と、予め設定されている当該リソースの属性情報であって、前記目的関数および前記制約式の少なくとも何れか一方における定数となる属性情報と、を含むリソース情報の入力欄が少なくとも表示されるリソース登録画面を表示装置に表示するリソース登録画面表示手段をさらに有し、
     前記リソース登録画面表示手段により表示されたリソース登録画面に対するユーザの操作に基づいて得られる前記リソース情報を記憶媒体に登録し、
     前記制約式定式化手段は、前記登録手段により相互に関連付けられた、前記品種、前記工程、前記リソース、および前記製品オーダと、前記制約設定手段により設定された制約式の内容と、に基づいて、前記構築手段により構築された変数と、前記リソース情報に含まれる属性情報とを用いて、前記制約式を定式化し、
     前記目的関数定式化手段は、前記登録手段により相互に関連付けられた、前記品種、前記工程、前記リソース、および前記製品オーダと、前記目的設定手段により設定された目的関数の内容と、に基づいて、前記構築手段により構築された変数と、前記リソース情報に含まれる属性情報とを用いて、前記目的関数を定式化することを特徴とする請求項1に記載のスケジューリング装置。
  3.  前記リソース登録画面表示手段は、前記目的関数および前記制約式の少なくとも何れか一方における定数となる属性情報の入力欄が、前記リソース登録画面に対するユーザの操作に基づいて前記リソース情報の入力欄に追加されたリソース登録画面を表示し、
     前記構築手段は、前記登録手段により相互に関連付けられた、前記品種、前記工程、前記リソース、および前記製品オーダに基づいて、目的関数と当該目的関数に対する制約式を前記数理計画法に則って定式化する際に使用する定数として、前記リソース登録画面に追加された入力欄に入力された属性情報に基づく定数をさらに構築することを特徴とする請求項2に記載のスケジューリング装置。
  4.  前記登録手段は、
     前記品種の識別情報を含む品種情報の入力欄が少なくとも表示される品種登録画面を表示装置に表示する品種登録画面表示手段をさらに有し、
     前記品種登録画面表示手段により表示された品種登録画面に対するユーザの操作に基づいて得られる前記品種情報を記憶媒体に登録することを特徴とする請求項2または3に記載のスケジューリング装置。
  5.  前記登録手段により登録された品種に対して実行される工程のそれぞれを識別する情報と、当該工程のそれぞれの実行順と、当該工程のそれぞれで使用されるリソースと、を含む工程情報の入力欄が少なくとも表示される工程登録画面を表示装置に表示する工程登録画面表示手段を有し、
     前記工程登録画面における前記リソースの入力欄は、前記登録手段により登録されたリソースの中から、前記工程のそれぞれで使用されるリソースが選択入力される欄であり、
     前記登録手段は、前記工程登録画面表示手段により表示された工程登録画面に対するユーザの操作に基づいて得られる前記工程情報を記憶媒体に登録することを特徴とする請求項4に記載のスケジューリング装置。
  6.  前記工程登録画面表示手段は、前記工程のそれぞれの属性情報の入力欄が、前記工程登録画面に対するユーザの操作に基づいて前記工程情報の入力欄に追加された工程登録画面を表示することを特徴とする請求項5に記載のスケジューリング装置。
  7.  前記登録手段は、前記製品オーダの識別情報と、当該製品オーダが属する品種と、前記製品オーダにおける注文量と、前記製品オーダの納期と、を含む製品オーダ情報の入力欄が少なくとも表示される製品オーダ登録画面を表示装置に表示する製品オーダ登録画面表示手段をさらに有し、
     前記製品オーダ登録画面における前記品種の入力欄は、前記登録手段により登録された品種の中から選択入力される欄であり、
     前記登録手段は、前記製品オーダ登録画面表示手段により表示された製品オーダ登録画面に対するユーザの操作に基づいて得られる前記製品オーダ情報を記憶媒体に登録することを特徴とする請求項5または6に記載のスケジューリング装置。
  8.  前記製品オーダ登録画面表示手段は、前記製品オーダのそれぞれの属性情報の入力欄が、前記製品オーダ登録画面に対するユーザの操作に基づいて前記製品オーダ情報の入力欄に追加された製品オーダ登録画面を表示することを特徴とする請求項7に記載のスケジューリング装置。
  9.  前記制約式定式化手段は、
     前記構築手段により構築された変数の選択欄と、演算子の選択欄とを少なくとも表示する新規制約設定画面を表示装置に表示する新規制約設定画面表示手段をさらに有し、
     前記新規制約設定画面表示手段により表示された新規制約設定画面に対するユーザの操作に基づいて、制約式をさらに定式化することを特徴とする請求項1~8の何れか1項に記載のスケジューリング装置。
  10.  前記目的関数定式化手段は、
     前記構築手段により構築された変数の選択欄と、演算子の選択欄とを少なくとも表示する新規目的設定画面を表示装置に表示する新規目的設定画面表示手段をさらに有し、
     前記登録手段により相互に関連付けられた、前記品種、前記工程、前記リソース、および前記製品オーダと、前記目的設定手段により設定された目的関数の内容と、前記新規目的設定画面表示手段により表示された新規目的設定画面に対するユーザの操作に基づく目的関数の内容と、に基づいて、前記構築手段により構築された変数を用いて、前記目的関数を定式化することを特徴とする請求項1~9の何れか1項に記載のスケジューリング装置。
  11.  前記計画作成手段により作成された決定変数からなる生産計画に係る信号を外部装置に対して出力する計画出力手段を有することを特徴とする請求項1~10の何れか1項に記載のスケジューリング装置。
  12.  前記計画出力手段は、前記生産計画に係る情報を表示させることを指示するための表示指示信号を、前記生産計画に係る信号として外部装置に送信して、前記生産計画に係る情報を表示装置に表示させることを特徴とする請求項11に記載のスケジューリング装置。
  13.  前記リソースは、制御信号に基づいて自動的に動作する物的資源を含み、
     前記計画出力手段は、前記生産計画に基づいて、前記開始時刻に動作を開始し前記終了時刻に動作を終了することを指示するための制御信号を前記生産計画に係る信号として外部装置に送信して、前記リソースを、前記制御信号に基づいて自動的に動作させることを特徴とする請求項11に記載のスケジューリング装置。
  14.  前記数理計画法は、混合整数計画法または混合整数2次計画法であることを特徴とする請求項1~13の何れか1項に記載のスケジューリング装置。
  15.  製品の注文の内容を示す製品オーダと、
     前記製品の生産または物流の過程で実行される処理である工程と、
     前記工程で使用される人的資源および物的資源であるリソースと、
     前記製品の生産または物流の過程で実行される各工程と、当該各工程の実行順と、当該各工程のそれぞれで使用されるリソースと、が同じである注文を1つのまとまりとして他と区別するための識別情報である品種と、
    のそれぞれの情報を用いて、生産計画または物流計画を数理計画法によりコンピュータで自動的に立案するスケジューリング方法であって、
     前記リソースと前記工程、前記工程と前記品種、および前記品種と前記製品オーダを、それぞれ相互に関連付けて記憶媒体に登録する登録工程と、
     前記登録工程により相互に関連付けられた、前記品種、前記工程、前記リソース、および前記製品オーダに基づいて、目的関数と制約式を前記数理計画法に則って定式化する際に使用する決定変数として、製品オーダ別・工程別・リソース別の開始時刻および終了時刻を含む変数を構築する構築工程と、
     前記登録工程により相互に関連付けられた、前記品種、前記工程、および前記リソースの識別情報の少なくとも1つを入力するための選択入力欄へのユーザの前記識別情報の入力操作に基づいて、前記制約式の内容を設定する制約設定工程と、
     前記登録工程により相互に関連付けられた、前記品種および前記工程の識別情報と、前記目的関数による目的とを入力するための選択入力欄へのユーザの前記識別情報と前記目的との入力操作に基づいて、前記目的関数の内容を設定する目的設定工程と、
     前記登録工程により相互に関連付けられた、前記品種、前記工程、前記リソース、および前記製品オーダと、前記制約設定工程により設定された制約式の内容と、に基づいて、前記構築工程により構築された変数を用いて、前記制約式を定式化する制約式定式化工程と、
     前記登録工程により相互に関連付けられた、前記品種、前記工程、前記リソース、および前記製品オーダと、前記目的設定工程により設定された目的関数の内容と、に基づいて、前記構築工程により構築された変数を用いて、前記目的関数を定式化する目的関数定式化工程と、
     前記制約式定式化工程により定式化された制約式に基づく制約を満足する範囲で、前記目的関数定式化工程により定式化された目的関数を最大または最小にする前記変数を、前記数理計画法による最適化計算を行うことにより導出する計画作成工程と、
    を有することを特徴とするスケジューリング方法。
  16.  前記登録工程は、
     前記リソースの識別情報と、予め設定されている当該リソースの属性情報であって、前記目的関数および前記制約式の少なくとも何れか一方における定数となる属性情報と、を含むリソース情報の入力欄が少なくとも表示されるリソース登録画面を表示装置に表示するリソース登録画面表示工程をさらに有し、
     前記リソース登録画面表示工程により表示されたリソース登録画面に対するユーザの操作に基づいて得られる前記リソース情報を記憶媒体に登録し、
     前記制約式定式化工程は、前記登録工程により相互に関連付けられた、前記品種、前記工程、前記リソース、および前記製品オーダと、前記制約設定工程により設定された制約式の内容と、に基づいて、前記構築工程により構築された変数と、前記リソース情報に含まれる属性情報とを用いて、前記制約式を定式化し、
     前記目的関数定式化工程は、前記登録工程により相互に関連付けられた、前記品種、前記工程、前記リソース、および前記製品オーダと、前記目的設定工程により設定された目的関数の内容と、に基づいて、前記構築工程により構築された変数と、前記リソース情報に含まれる属性情報とを用いて、前記目的関数を定式化することを特徴とする請求項15に記載のスケジューリング方法。
  17.  前記リソース登録画面表示工程は、前記目的関数および前記制約式の少なくとも何れか一方における定数となる属性情報の入力欄が、前記リソース登録画面に対するユーザの操作に基づいて前記リソース情報の入力欄に追加されたリソース登録画面を表示し、
     前記構築工程は、前記登録工程により相互に関連付けられた、前記品種、前記工程、前記リソース、および前記製品オーダに基づいて、目的関数と当該目的関数に対する制約式を前記数理計画法に則って定式化する際に使用する定数として、前記リソース登録画面に追加された入力欄に入力された属性情報に基づく定数をさらに構築することを特徴とする請求項16に記載のスケジューリング方法。
  18.  前記登録工程は、
     前記品種の識別情報を含む品種情報の入力欄が少なくとも表示される品種登録画面を表示装置に表示する品種登録画面表示工程をさらに有し、
     前記品種登録画面表示工程により表示された品種登録画面に対するユーザの操作に基づいて得られる前記品種情報を記憶媒体に登録することを特徴とする請求項16または17に記載のスケジューリング方法。
  19.  前記登録工程により登録された品種に対して実行される工程のそれぞれを識別する情報と、当該工程のそれぞれの実行順と、当該工程のそれぞれで使用されるリソースと、を含む工程情報の入力欄が少なくとも表示される工程登録画面を表示装置に表示する工程登録画面表示工程を有し、
     前記工程登録画面における前記リソースの入力欄は、前記登録工程により登録されたリソースの中から、前記工程のそれぞれで使用されるリソースが選択入力される欄であり、
     前記登録工程は、前記工程登録画面表示工程により表示された工程登録画面に対するユーザの操作に基づいて得られる前記工程情報を記憶媒体に登録することを特徴とする請求項18に記載のスケジューリング方法。
  20.  前記工程登録画面表示工程は、前記工程のそれぞれの属性情報の入力欄が、前記工程登録画面に対するユーザの操作に基づいて前記工程情報の入力欄に追加された工程登録画面を表示することを特徴とする請求項19に記載のスケジューリング方法。
  21.  前記登録工程は、前記製品オーダの識別情報と、当該製品オーダが属する品種と、前記製品オーダにおける注文量と、前記製品オーダの納期と、を含む製品オーダ情報の入力欄が少なくとも表示される製品オーダ登録画面を表示装置に表示する製品オーダ登録画面表示工程をさらに有し、
     前記製品オーダ登録画面における前記品種の入力欄は、前記登録工程により登録された品種の中から選択入力される欄であり、
     前記登録工程は、前記製品オーダ登録画面表示工程により表示された製品オーダ登録画面に対するユーザの操作に基づいて得られる前記製品オーダ情報を記憶媒体に登録することを特徴とする請求項19または20に記載のスケジューリング方法。
  22.  前記製品オーダ登録画面表示工程は、前記製品オーダのそれぞれの属性情報の入力欄が、前記製品オーダ登録画面に対するユーザの操作に基づいて前記製品オーダ情報の入力欄に追加された製品オーダ登録画面を表示することを特徴とする請求項21に記載のスケジューリング方法。
  23.  前記制約式定式化工程は、
     前記構築工程により構築された変数の選択欄と、演算子の選択欄とを少なくとも表示する新規制約設定画面を表示装置に表示する新規制約設定画面表示工程をさらに有し、
     前記新規制約設定画面表示工程により表示された新規制約設定画面に対するユーザの操作に基づいて、新規の制約式を定式化することを特徴とする請求項15~22の何れか1項に記載のスケジューリング方法。
  24.  前記目的関数定式化工程は、
     前記構築工程により構築された変数の選択欄と、演算子の選択欄とを少なくとも表示する新規目的設定画面を表示装置に表示する新規目的設定画面表示工程をさらに有し、
     前記登録工程により相互に関連付けられた、前記品種、前記工程、前記リソース、および前記製品オーダと、前記目的設定工程により設定された目的関数の内容と、前記新規目的設定画面表示工程により表示された新規目的設定画面に対するユーザの操作に基づく目的関数の内容と、に基づいて、前記構築工程により構築された変数を用いて、前記目的関数を定式化することを特徴とする請求項15~23の何れか1項に記載のスケジューリング方法。
  25.  前記計画作成工程により作成された決定変数からなる生産計画に係る信号を外部装置に対して出力する計画出力工程を有することを特徴とする請求項15~24の何れか1項に記載のスケジューリング方法。
  26.  前記計画出力工程は、前記生産計画に係る情報を表示させることを指示するための表示指示信号を、前記生産計画に係る信号として外部装置に送信して、前記生産計画に係る情報を表示装置に表示させることを特徴とする請求項25に記載のスケジューリング方法。
  27.  前記リソースは、制御信号に基づいて自動的に動作する物的資源を含み、
     前記計画出力工程は、前記生産計画に基づいて、前記開始時刻に動作を開始し前記終了時刻に動作を終了することを指示するための制御信号を前記生産計画に係る信号として外部装置に送信して、前記リソースを、前記制御信号に基づいて自動的に動作させることを特徴とする請求項25に記載のスケジューリング方法。
  28.  前記数理計画法は、混合整数計画法または混合整数2次計画法であることを特徴とする請求項15~27の何れか1項に記載のスケジューリング方法。
  29.  製品の注文の内容を示す製品オーダと、
     前記製品の生産または物流の過程で実行される処理である工程と、
     前記工程で使用される人的資源および物的資源であるリソースと、
     前記製品の生産または物流の過程で実行される各工程と、当該各工程の実行順と、当該各工程のそれぞれで使用されるリソースと、が同じである注文を1つのまとまりとして他と区別するための識別情報である品種と、
    のそれぞれの情報を用いて、生産計画または物流計画を数理計画法により自動的に立案することをコンピュータに実行させるためのコンピュータプログラムであって、
     前記リソースと前記工程、前記工程と前記品種、および前記品種と前記製品オーダを、それぞれ相互に関連付けて記憶媒体に登録する登録工程と、
     前記登録工程により相互に関連付けられた、前記品種、前記工程、前記リソース、および前記製品オーダに基づいて、目的関数と制約式を前記数理計画法に則って定式化する際に使用する決定変数として、製品オーダ別・工程別・リソース別の開始時刻および終了時刻を含む変数を構築する構築工程と、
     前記登録工程により相互に関連付けられた、前記品種、前記工程、および前記リソースの識別情報の少なくとも1つを入力するための選択入力欄へのユーザの前記識別情報の入力操作に基づいて、前記制約式の内容を設定する制約設定工程と、
     前記登録工程により相互に関連付けられた、前記品種および前記工程の識別情報と、前記目的関数による目的とを入力するための選択入力欄へのユーザの前記識別情報と前記目的との入力操作に基づいて、前記目的関数の内容を設定する目的設定工程と、
     前記登録工程により相互に関連付けられた、前記品種、前記工程、前記リソース、および前記製品オーダと、前記制約設定工程により設定された制約式の内容と、に基づいて、前記構築工程により構築された変数を用いて、前記制約式を定式化する制約式定式化工程と、
     前記登録工程により相互に関連付けられた、前記品種、前記工程、前記リソース、および前記製品オーダと、前記目的設定工程により設定された目的関数の内容と、に基づいて、前記構築工程により構築された変数を用いて、前記目的関数を定式化する目的関数定式化工程と、
     前記制約式定式化工程により定式化された制約式に基づく制約を満足する範囲で、前記目的関数定式化工程により定式化された目的関数を最大または最小にする前記変数を、前記数理計画法による最適化計算を行うことにより導出する計画作成工程と、
    をコンピュータに実行させることを特徴とするコンピュータプログラム。
PCT/JP2013/060961 2012-04-12 2013-04-11 スケジューリング装置、スケジューリング方法およびコンピュータプログラム WO2013154164A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US14/387,374 US10380523B2 (en) 2012-04-12 2013-04-11 Scheduling apparatus, scheduling method, and computer program

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2012-091077 2012-04-12
JP2012091077A JP5379261B2 (ja) 2012-04-12 2012-04-12 スケジューリング装置、スケジューリング方法およびコンピュータプログラム

Publications (1)

Publication Number Publication Date
WO2013154164A1 true WO2013154164A1 (ja) 2013-10-17

Family

ID=49327722

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2013/060961 WO2013154164A1 (ja) 2012-04-12 2013-04-11 スケジューリング装置、スケジューリング方法およびコンピュータプログラム

Country Status (3)

Country Link
US (1) US10380523B2 (ja)
JP (1) JP5379261B2 (ja)
WO (1) WO2013154164A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107944715A (zh) * 2017-11-23 2018-04-20 海南电网有限责任公司 一种电网检修工单优化分配方法

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160078380A1 (en) * 2014-09-17 2016-03-17 International Business Machines Corporation Generating cross-skill training plans for application management service accounts
JP6582582B2 (ja) * 2015-06-15 2019-10-02 日本製鉄株式会社 操業スケジュール作成装置、操業スケジュール作成方法、及びプログラム
US10423669B2 (en) * 2016-01-04 2019-09-24 Hanwha Precision Machinery Co., Ltd. Manufacturing process visualization apparatus and method
JP6858490B2 (ja) * 2016-04-07 2021-04-14 日本製鉄株式会社 スケジューリング装置、スケジューリング方法およびプログラム
JP6706169B2 (ja) * 2016-07-27 2020-06-03 株式会社東芝 生産スケジュール作成システムおよび生産スケジュール作成方法
EP3410363A1 (de) * 2017-05-31 2018-12-05 Siemens Aktiengesellschaft Bestimmen eines produktionsplans
JP7070107B2 (ja) 2018-06-05 2022-05-18 富士通株式会社 情報処理装置、作業計画プログラム及び作業計画方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08212264A (ja) * 1994-12-09 1996-08-20 Toshiba Corp スケジューリング装置及びスケジューリング方法
JP2000254839A (ja) * 1999-03-09 2000-09-19 Fujitsu Ltd 生産計画システムおよび生産計画プログラムを格納した記録媒体
JP2006048088A (ja) * 2004-07-30 2006-02-16 Ns Solutions Corp スケジューリングシステム及びスケジューリング方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3542930B2 (ja) * 1999-07-30 2004-07-14 インターナショナル・ビジネス・マシーンズ・コーポレーション 表示情報確定方法及び装置、表示情報確定のためのソフトウエア・プロダクトを格納した記憶媒体
US7448022B1 (en) * 2004-02-10 2008-11-04 Prasad Ram Dynamic software composition in a component-based software system
US8180658B2 (en) * 2007-01-30 2012-05-15 Microsoft Corporation Exploitation of workflow solution spaces to account for changes to resources
JP4994909B2 (ja) * 2007-03-26 2012-08-08 キヤノン株式会社 プログラム管理装置及び方法
US20110078074A1 (en) * 2009-09-30 2011-03-31 Lipman Craig S Systems, methods, and media for industry resource management and contract management
US20120203564A1 (en) * 2011-02-03 2012-08-09 Makor Issues And Rights Ltd. Method and System for Real-Time Automatic Optimization of Emergency Room Resources Management

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08212264A (ja) * 1994-12-09 1996-08-20 Toshiba Corp スケジューリング装置及びスケジューリング方法
JP2000254839A (ja) * 1999-03-09 2000-09-19 Fujitsu Ltd 生産計画システムおよび生産計画プログラムを格納した記録媒体
JP2006048088A (ja) * 2004-07-30 2006-02-16 Ns Solutions Corp スケジューリングシステム及びスケジューリング方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107944715A (zh) * 2017-11-23 2018-04-20 海南电网有限责任公司 一种电网检修工单优化分配方法

Also Published As

Publication number Publication date
US10380523B2 (en) 2019-08-13
JP2013218644A (ja) 2013-10-24
US20150081373A1 (en) 2015-03-19
JP5379261B2 (ja) 2013-12-25

Similar Documents

Publication Publication Date Title
WO2013154164A1 (ja) スケジューリング装置、スケジューリング方法およびコンピュータプログラム
US9355142B2 (en) Content management
US8766980B2 (en) Information management system, method and program
US9563861B2 (en) Integration of workflow and library modules
US9355193B2 (en) Object design data model
JP2008293101A (ja) 業務プロセス構築支援システム、業務プロセス構築支援方法、及び業務プロセス構築支援プログラム
US20110173043A1 (en) Method for designing industrial systems
US20140129822A1 (en) Runtime process diagnostics
He et al. ISA-95 tool for enterprise modeling
JP2017122955A (ja) 生産計画立案支援システムおよび支援方法
CN115860451A (zh) 一种流程运行方法、装置、电子设备及存储介质
JP6758167B2 (ja) データ処理装置、データ処理方法及びデータ処理プログラム
JP2020135538A (ja) プラント機器情報管理システム
JP6858490B2 (ja) スケジューリング装置、スケジューリング方法およびプログラム
WO2017077920A1 (ja) 管理支援装置および管理支援方法
Gravel et al. Visual interactive simulation shows how to use the Kanban method in small business
US6035292A (en) Interactively building and executing knowledge base system with knowledge variables
CN103177071A (zh) 定制制造执行系统屏幕的图形用户界面
Juhlin et al. Metamodeling of Cyber-Physical Production Systems using AutomationML for Collaborative Innovation
JP2014016805A (ja) 生産計画調整支援装置、生産計画調整支援方法、および生産計画調整支援プログラム
JPH09230911A (ja) 工程支援システム
Lässig et al. The ArchIBALD Data Integration Platform: Bridging Fragmented Processes in the Building Industry
JP3233033U (ja) 仕様書作成部を含むソフトウェアシステム作成システム
JP2007233987A (ja) コントロールレシピ作成装置、製造マスターバッチレコード作成装置、部品表作成装置、そのプログラムおよびコンピュータ読取り可能な記録媒体、コントロールレシピ作成方法、製造マスターバッチレコード作成方法、ならびに部品表作成方法
Ding et al. Research and implementation of order-oriented textile production scheduling system

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

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 14387374

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 13775899

Country of ref document: EP

Kind code of ref document: A1