[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

WO2018198246A1 - 生産計画生成装置、生産計画生成プログラム及び生産計画生成方法 - Google Patents

生産計画生成装置、生産計画生成プログラム及び生産計画生成方法 Download PDF

Info

Publication number
WO2018198246A1
WO2018198246A1 PCT/JP2017/016614 JP2017016614W WO2018198246A1 WO 2018198246 A1 WO2018198246 A1 WO 2018198246A1 JP 2017016614 W JP2017016614 W JP 2017016614W WO 2018198246 A1 WO2018198246 A1 WO 2018198246A1
Authority
WO
WIPO (PCT)
Prior art keywords
board
production
production plan
optimization
substrate
Prior art date
Application number
PCT/JP2017/016614
Other languages
English (en)
French (fr)
Inventor
池田弘
石司正和
Original Assignee
富士通株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 富士通株式会社 filed Critical 富士通株式会社
Priority to PCT/JP2017/016614 priority Critical patent/WO2018198246A1/ja
Priority to CN201780089480.5A priority patent/CN110494812B/zh
Priority to EP17907291.3A priority patent/EP3617821B1/en
Priority to JP2019514965A priority patent/JP6950738B2/ja
Publication of WO2018198246A1 publication Critical patent/WO2018198246A1/ja
Priority to US16/579,926 priority patent/US10824782B2/en

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
    • 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
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/327Logic synthesis; Behaviour synthesis, e.g. mapping logic, HDL to netlist, high-level language to RTL or netlist
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/04Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
    • G06Q10/043Optimisation of two dimensional placement, e.g. cutting of clothes or wood
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/04Manufacturing
    • HELECTRICITY
    • H05ELECTRIC TECHNIQUES NOT OTHERWISE PROVIDED FOR
    • H05KPRINTED CIRCUITS; CASINGS OR CONSTRUCTIONAL DETAILS OF ELECTRIC APPARATUS; MANUFACTURE OF ASSEMBLAGES OF ELECTRICAL COMPONENTS
    • H05K13/00Apparatus or processes specially adapted for manufacturing or adjusting assemblages of electric components
    • H05K13/08Monitoring manufacture of assemblages
    • H05K13/085Production planning, e.g. of allocation of products to machines, of mounting sequences at machine or facility level
    • HELECTRICITY
    • H05ELECTRIC TECHNIQUES NOT OTHERWISE PROVIDED FOR
    • H05KPRINTED CIRCUITS; CASINGS OR CONSTRUCTIONAL DETAILS OF ELECTRIC APPARATUS; MANUFACTURE OF ASSEMBLAGES OF ELECTRICAL COMPONENTS
    • H05K3/00Apparatus or processes for manufacturing printed circuits
    • H05K3/30Assembling printed circuits with electric components, e.g. with resistor
    • H05K3/303Surface mounted components, e.g. affixing before soldering, aligning means, spacing means
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/32Operator till task planning
    • G05B2219/32016Minimize setup time of machines
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/32Operator till task planning
    • G05B2219/32263Afo products, their components to be manufactured, lot selective
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/32Operator till task planning
    • G05B2219/32264Setup time
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/45Nc applications
    • G05B2219/45026Circuit board, pcb

Definitions

  • the present invention relates to a production plan generation device, a production plan generation program, and a production plan generation method.
  • Patent Document 1 a technique for improving production efficiency, shortening work time, and reducing setup work load is known (see, for example, Patent Document 1).
  • the factors that affect the required time are related to each other, and there is a trade-off relationship between the elements. For example, there is a trade-off relationship between the mounting time of the component on the board and the time (outside setup time) for preparing the cart containing the component (the cart that can be replaced with the mounter in the SMT line).
  • an object of the present invention is to provide a production plan generation device, a production plan generation program, and a production plan generation method capable of reducing a processing load when generating a production plan for a production line. .
  • the production plan generation device is a time required to complete the production of the board based on an acquisition unit that obtains information related to the production of the board and equipment information of a mounting line that mounts components on the board. And a processing unit that optimizes a plurality of elements that affect the process step by step.
  • Processing load when generating a production plan for a production line can be reduced.
  • FIG. 7A is a diagram showing the data structure of the mounted component information table of the production information DB
  • FIG. 7B is a diagram showing the data structure of the mounter information table of the production information DB.
  • FIG. 8A is a diagram showing the data structure of the cart position information table of the production information DB, and FIG.
  • FIG. 8B is a diagram showing the data structure of the used channel number table of the production information DB.
  • FIG. 9A is a diagram showing the data structure of the board group table of the production plan information DB
  • FIG. 9B is a diagram showing the data structure of the part allocation table of the production plan information DB.
  • FIG. 10A is a diagram showing a data structure of an external setup plan table in the production plan information DB
  • FIG. 10B is a diagram showing a data structure of a board group manufacturing order table in the production plan information DB.
  • FIGS. 15A and 15B are diagrams for explaining the external setup waiting time minimization process.
  • FIG. 16A to FIG. 16C are diagrams for explaining the results of the processing of FIG. It is a figure for demonstrating the effect of a process variation leveling process. It is a figure which shows a modification.
  • FIG. 1 schematically shows a configuration of a production system 100 according to an embodiment.
  • the production system 100 of the present embodiment includes a production line 70, a server 10 as a production plan generation device, and a worker terminal 60.
  • the production line 70, the server 10, and the worker terminal 60 are connected to a network 80.
  • the surface mounting line 20 is a line (SMT line) for mounting components on a printed circuit board (hereinafter simply referred to as “board”), and is a board loader, solder printing machine, printing inspection machine, mounter line, mounting inspection machine. A reflow furnace, an appearance inspection machine, an unloader, and the like are provided, and the devices are connected by a conveyor.
  • the surface mounting line 20 has a plurality of mounters for mounting components on the board.
  • the substrate loader loads the substrate on the conveyor.
  • the solder printing machine prints solder at a predetermined location on the substrate.
  • the print inspection machine inspects the solder on the substrate. Substrates that pass the inspection by the printing inspection machine are transported to the mounter line, where surface mount components such as electronic components (hereinafter simply referred to as “components”) are mounted on the printed solder on the substrate. Surface mounted.
  • the mounting inspection machine inspects whether there are any defects in the mounting of the components on the board.
  • the reflow furnace fixes the component to the substrate by performing reflow on the substrate that has passed the inspection.
  • the appearance inspection machine inspects the appearance of the substrate for defects.
  • the unloader takes out the board that has passed the inspection from the conveyor.
  • each surface mounting line 20 (SMT line) the substrates are processed in the order predetermined in the production plan.
  • the surface mounting line 20 has the following equipment restrictions.
  • Component types to be mounted on the board are prepared in a mounter cart (surface mount component supply cart) using a component feeder (feeder), and the mounter cart is installed on the mounter to mount components on the board. I do.
  • the operation of preparing parts for the mounter truck is called “outside setup”.
  • a plurality of carriages may be installed in one mounter, such as the second mounter from the left in FIG.
  • All component types to be mounted on the same board need to be placed on one of the carts in the mounter line. That is, the carriage cannot be exchanged in any mounter while the same substrate is being manufactured.
  • the external setup waiting time occurs because the parts cannot be mounted on the boards a, b, and c until the external setup for the boards a, b, and c is completed.
  • the outer setup for the next substrates d and e can be performed in parallel.
  • the group of the substrates a, b, c and the substrates d, e, substrates f, g, h in FIG. 3 is a group of substrates that can be continuously manufactured without changing the components set in each mounter. It is a “board group”.
  • the feeder is a device that supplies components to the mounter, and supplies one type of component with one feeder. Parts are supplied to the feeder with a reel or the like.
  • the channel usage of the cart varies depending on the feeder order. This is because the minimum gap required between the feeders differs depending on the set of adjacent feeders due to interference due to the physical shape of the feeders. Therefore, the number of feeders that can be accommodated in one carriage differs depending on the order of feeder arrangement. (6) The external setup time differs for each part type.
  • mounters have fixed trolleys, and some trolleys cannot be changed from the start to the end of production. Therefore, the parts that can be mounted from the mounter are limited to the parts that are mounted on the carriage at the start of production.
  • mounters and carts are called “fixed mounters” and “fixed carts”, mounters that are not fixed mounters are called “setup mounters”, and carts that are not fixed carts are called “setup carts”.
  • the server 10 makes a production plan for the surface mounting line 20 included in the production line 70 based on predetermined substrate quantity information and production information. Further, the server 10 transmits the planned production plan to the production line 70 and the worker terminal 60.
  • FIG. 4 shows the hardware configuration of the server 10.
  • the server 10 includes a CPU (Central Processing Unit) 90, a ROM (Read Only Memory) 92, a RAM (Random Access Memory) 94, a storage unit (here, HDD (Hard Disk Drive)) 96, a network. An interface 97 and a portable storage medium drive 99 are provided. Each component of the server 10 is connected to a bus 98.
  • a program including a production plan generation program
  • the portable storage medium drive 99 from the portable storage medium 91 is stored in the CPU 90.
  • the functions as the respective units shown in FIG. 5 are realized.
  • CPU Micro
  • the function of each unit may be realized by an integrated circuit such as ASIC (Application Specific Specific Integrated Circuit) or FPGA (Field Programmable Gate Array).
  • ASIC Application Specific Specific Integrated Circuit
  • FPGA Field Programmable Gate Array
  • 5 also shows a substrate quantity information DB (database) 52 and a production information DB 54 stored in the HDD 96 of the server 10.
  • FIG. 5 shows a functional block diagram of the server 10.
  • the CPU 90 executes the program, and the substrate quantity information collection unit 30, the production information collection unit 32, the control unit 34, the board group optimization unit 36, the component allocation optimization unit 38, and the manufacturing order optimization shown in FIG. Unit 40 and production plan output unit 46.
  • the board quantity information collecting unit 30 collects board quantity information from the board quantity information DB 52 and transmits it to the control unit 34.
  • the substrate quantity information includes information on how many substrates are manufactured and information on the width of each substrate as information relating to the production of the substrate.
  • FIG. 6 shows an example of the data structure of the substrate quantity information DB 52. As shown in FIG. 6, the substrate quantity information DB 52 has fields of “substrate”, “number of sheets”, and “substrate width”.
  • the production information collection unit 32 collects production information from the production information DB 54 and transmits it to the control unit 34.
  • the production information DB 54 includes information related to board production and facility information of the surface mounting line 20 for mounting components on the board.
  • the production information DB 54 includes a mounted component information table 154A shown in FIG. 7A, a mounter information table 154B shown in FIG. 7B, a cart position information table 154C shown in FIG. A used channel number table 154D shown in FIG. 8B is included.
  • the mounted component information table 154A is a table that summarizes how many components are mounted on each board. As shown in FIG. 7A, the “board”, “component”, “number of mounted per board” ”Field. For example, in FIG. 7A, information such as mounting one component 1, five components 2, 20 components 3, and 400 components 4 on one board A is stored. .
  • the mounter information table 154B is a table for managing information on carts that can be set in each mounter. As shown in FIG. 7B, the mounter information table 154B has fields of “mounter”, “cart position”, “number of channels of carriage”, and “fixed / setup”. In FIG. 7 (b), for example, information indicating that a set-up trolley with 50 trolley channels (cart position 1) can be set on the mounter 1, and a set-up trolley with 30 channels (cart position 2_1, 2_2) is stored. The “cart position” means a position where the mounter truck is set. In the “fixed / setup” field, information indicating whether the cart is a fixed cart or a setup cart is stored.
  • the carriage position information table 154C is a table for managing information on each carriage position. As shown in FIG. 8 (a), the cart position information table 154C includes “cart position”, “parts”, “mounting time per piece”, “number of channels used by parts”, “part setup time”. Each field. In the trolley position information table 154C, when each part is prepared at each trolley position, information on how long it takes to mount one part on the board, or information on the trolley used by the part. The number of channels is stored, and information on how long the part setup time is is stored.
  • the used channel number table 154D is a table for managing information on how many channels are used when a component (feeder) is installed at each position of each carriage. As shown in FIG. 8B, the used channel number table 154D has fields of “cart position”, “left part”, “right part”, and “number of channels used by the right part”. The used channel number table 154D stores the number of used channels in the case where the part stored in the “right part” field is prepared at the position stored in the “cart position” field. The used channel number table 154D indicates that the number of used channels varies depending on the component adjacent to the left side of the component (the component stored in the “left component” field). When “-” is stored in the “left part” field, the part stored in the “right part” field is arranged at the left end of the channel portion of the carriage.
  • control unit 34 comprehensively controls the processing of each function (each unit) of the server 10. For example, the control unit 34 transmits the data collected by the substrate quantity information collection unit 30 and the production information collection unit 32 to each unit 36, 38, 40, 46 at an appropriate timing, or processes each unit at an appropriate timing. To execute.
  • the board group optimizing unit 36, the component allocation optimizing unit 38, and the manufacturing order optimizing unit 40 execute processing under the instruction of the control unit 34, and the processing result is sent to the production plan information DB 56 via the control unit 34.
  • the board group table 156A in FIG. 9A, the component assignment table 156B in FIG. 9B, the external setup plan table 156C in FIG. 10A, and FIG. ) Substrate group manufacturing order table 156D. Details of the tables in FIGS. 9A to 10B will be described later.
  • the board group optimizing unit 36 obtains a board combination that can install components mounted on the board on the mounter at the same time and has the largest number of boards (number of board types), and sets the obtained board combination as a board group.
  • the board group optimizing unit 36 is formulated as an integer programming problem and executes a board group optimization process using an integer programming problem solver such as GLPK (GNU Linear Programming Kit). Further, the board group optimizing unit 36 determines whether or not all of the components (feeders) can be accommodated in the carriage by using an integer programming problem solver as a feeder arrangement optimization problem. Details of the processing of the board group optimization unit 36 will be described later.
  • the processing result of the board group optimizing unit 36 is stored in the board group table 156A of FIG.
  • the board group table 156A stores information about which board belongs to each board group.
  • the component allocation optimizing unit 38 assigns the component allocation to each mounter (how many components are mounted from which mounter) and the integer programming problem solver so that the total mounting time of the board group is minimized for each board group. Optimize using. Further, the component allocation optimizing unit 38 determines whether or not all of the components (feeders) fit in the carriage as a result of optimizing the component allocation to the mounter, using an integer programming problem solver as a feeder arrangement optimization problem. To do. Details of the processing of the component allocation optimization unit 38 will be described later. The processing results of the component allocation optimizing unit 38 are stored in the component allocation table 156B in FIG. 9B and the external setup plan table 156C in FIG.
  • the component assignment table 156B stores information on which mounter of each mounter mounts each component mounted on each substrate and how many components are mounted on each substrate.
  • the outer setup plan table 156C stores information about which parts are placed in which channel positions of which trucks of which mounters for each board group. In the “channel position” field of FIG. 10A, the arrangement order counted from the left in the case where the feeders of the respective components are arranged on the carriage from the left is stored.
  • the manufacturing order optimization unit 40 optimizes the manufacturing order of the board groups using an integer programming problem solver so as to minimize the time from the start of manufacturing to the completion of manufacturing. Further, the manufacturing order optimization unit 40 optimizes the manufacturing order of the board groups, and then keeps the manufacturing order of the board groups fixed, so that the number of changes in the width of the board flowing through the mounter is minimized, that is, the board In order to minimize the number of times of switching the width of the lane through which the circuit passes, an integer programming problem solver is used to optimize the board manufacturing order in the board group. Further, the manufacturing order optimization unit 40 maintains the number of changes in the width of the board while leveling the number of boards per unit time to be output to the subsequent process of the surface mounting line 20.
  • a solver is used to optimize the board manufacturing order within a board group. Details of the process performed by the manufacturing order optimization unit 40 will be described later.
  • the processing result of the manufacturing order optimization unit 40 is stored in the board group manufacturing order table 156D of FIG.
  • the board group manufacturing order table 156D in FIG. 10B stores the manufacturing order of each group. Further, the manufacturing order optimization unit 40 rearranges the arrangement order of the boards in the board group table 156A in FIG. 9A in the manufacturing order based on the processing result.
  • the production plan output unit 46 transmits information (production plan) stored in the production plan information DB 56 to the worker terminal 60 or to the production line 70 under the instruction of the control unit 34.
  • the worker terminal 60 is a terminal that is carried by the worker or installed near the production line 70, and is a PC (Personal Computer), a tablet terminal, a smartphone, or the like.
  • the worker terminal 60 includes a display, and supports the work performed by the worker by displaying the production plan determined by the server 10.
  • the processing in FIG. 11 is executed at a timing when a new substrate production plan needs to be made, for example, a timing before the daily operation on the production line 70 is started.
  • the board group optimization process (S10), the mounter component allocation optimization process (S12), and the manufacturing order optimization process (S14) are executed in stages. Details of each process will be described below.
  • the board group optimizing process is a process executed by the board group optimizing unit 36, specifically, a process according to the flowchart of FIG.
  • step S20 the board group optimizing unit 36 executes a process of maximizing the number of boards in the board group.
  • the board group optimizing unit 36 defines input variables, decision variables, objective functions, and constraint conditions as follows and formulates them as integer programming problems.
  • O fp Number of channels used when the feeder of the component p is installed on the carriage f.
  • M f The upper limit number of channels of the carriage f.
  • O fp in (1) is a provisional value of the number of channels used when the feeder of the component p is installed in the carriage f (the value of the “number of channels used by the part” field of the carriage position information table 154C).
  • G d 1 is set when the board d is put into the board group, and 0 is set when the board d is not put into the board group.
  • S fp 1 is set when the component p is installed on the carriage f, and 0 is set when the component p is not installed.
  • the objective function is the number of substrates d to be grouped, and is expressed by the following equation (1).
  • the board group optimizing unit 36 determines the value of each variable by solving the integer programming problem using the integer programming problem solver so that the objective function is maximized.
  • step S22 the board group optimizing unit 36 executes processing for optimizing the feeder arrangement.
  • step S20 since a temporary value of the number of channels used when the feeder of the component p is installed in the carriage f is set as O fp , the feeder of the part p is not always actually installed in the carriage f. . This is because the number of channels used varies depending on the arrangement order of the parts arranged on the carriage. Therefore, the board group optimizing unit 36 finds the arrangement order in which the used channels are the smallest in this step S22.
  • the board group optimizing unit 36 defines an input variable, a decision variable, an objective function, and a constraint condition as follows and formulates it as a shortest Hamiltonian path problem.
  • the objective function is the sum of the number of used channels, and is expressed by the following equation (2).
  • the board group optimizing unit 36 determines the value of each variable by solving the shortest Hamiltonian path problem using an integer programming problem solver so that the objective function is minimized.
  • step S24 the board group optimizing unit 36 determines whether the feeder can be placed on the carriage.
  • the sum of the minimum number of used channels is obtained in the above-described step S22, the sum of the minimum number of used channels is compared with the number of channels of the carriage, and when the following equation (3) is satisfied, the board group The optimization unit 36 determines that the feeder can be placed on the carriage.
  • step S24 If the determination in step S24 is negative, the process proceeds to step S26, and the board group optimizing unit 36 reduces the number of channels of the carriage (upper limit channel number M f ) (for example, by 1), and proceeds to step S20. Return. When returning to step S20, steps S20 to S26 are repeatedly executed until the determination in step S24 is affirmed.
  • step S28 the board group optimizing unit 36 determines the board group.
  • the board group optimization unit 36 stores the board group information determined in step S28 in the production plan information DB 56 (board group table 156A (FIG. 9A)) via the control unit 34.
  • step S30 the board group optimizing unit 36 determines whether there is a board that is not included in the board groups determined so far. If the determination in step S30 is affirmative, the process proceeds to step S32, the board included in the confirmed board group is excluded, and the process returns to step S20. When returning to step S20, the board group optimizing unit 36 performs the same process as described above using the remaining boards.
  • step S30 If all the substrates are included in the substrate group, the determination in step S30 is denied, the entire process in FIG. 12 (S10) is terminated, and the process proceeds to step S12 in FIG.
  • step S12 of FIG. 11 mounter allocation optimization process of the mounter executed by the component allocation optimization unit 38 will be described with reference to the flowchart of FIG.
  • step S40 the component allocation optimizing unit 38 selects one of the board groups determined in step S10.
  • step S42 processing for minimizing the board group mounting time is executed.
  • the component allocation to the mounter is optimized so that the total mounting time of the selected board group is minimized.
  • the component allocation optimizing unit 38 defines input variables, decision variables, objective functions, and constraint conditions as follows and formulates them as integer programming problems.
  • the decision variable S fdp is preliminarily set (before optimization) on the assumption that the number of parts p is mounted from the fixed carriage f to the board d. To a fixed value.
  • M f The upper limit number of channels of the carriage f.
  • TS dp Total number of components p to be mounted on the substrate d.
  • C fp Machine cycle time when the component p is installed on the carriage f.
  • O fp Number of channels used when the component p is installed on the carriage f.
  • Q d Planned number of manufactured substrates d.
  • the machine cycle time (3) means the time required to mount one component f of the carriage on the substrate.
  • O fp in (4) is a temporary value of the number of channels used when the feeder of the component p is installed on the carriage f as described above.
  • S fdp Number of components when the component p is mounted on the board d from the carriage f.
  • RS fp 1 is set when the feeder of the component p is installed on the carriage f, and 0 is set otherwise.
  • T df mounting time of the substrate d on the carriage f (total machine cycle time).
  • MT d Maximum mounting time of the substrate d.
  • the number (1) of mounting means the number (mounting number) of mounting the component on the target board.
  • the function / configuration differs between the tape / stick parts cart and the tray parts cart.
  • the tray components can be replaced when the substrates change, even within one substrate group.
  • tape / stick parts can only be changed when the board group changes. For this reason, in the said restrictions, regarding tray components, it is said that the channel used by the components mounted on the same board should not exceed the upper limit channel number of the carriage.
  • the part allocation optimization unit 38 determines the value of each variable by solving the integer programming problem using the integer programming problem solver so that the objective function is minimized.
  • step S44 the component allocation optimizing unit 38 executes processing for optimizing the feeder arrangement.
  • step S42 described above a temporary value of the number of channels used when the feeder of the component p is installed on the carriage f is set as O fp , so that the feeder of the part p cannot actually be installed on the carriage f. .
  • the component allocation optimizing unit 38 finds the arrangement order in which the used channel is the smallest in this step S44.
  • the process in step S44 is the same as step S22 in FIG.
  • step S44 After the processing of step S44 is performed, the process proceeds to step S46, and the parts allocation optimization unit 38 determines whether or not the feeder can be placed on the carriage. In this case, the component allocation optimizing unit 38 makes a determination in the same manner as in step S24 described above.
  • step S46 determines whether the determination in step S46 is negative. If the determination in step S46 is negative, the process proceeds to step S48, where the component allocation optimizing unit 38 reduces the number of channels (upper limit channel number) of the carriage (for example, decreases by 1), and proceeds to step S42. Return. When returning to step S42, steps S42 to S48 are repeatedly executed until the determination in step S46 is affirmed.
  • step S50 the component allocation optimizing unit 38 determines component allocation to the carriage and the number of components mounted on the board based on the processing so far.
  • the component allocation optimizing unit 38 stores the information determined in step S50 in the production plan information DB 56 (component allocation table 156B (FIG. 9B)) via the control unit 34.
  • step S52 the component allocation optimizing unit 38 determines whether or not all the board groups have been selected in step S40. If the determination in step S52 is negative, the process returns to step S40. When returning to step S40, one of the unselected substrate groups is selected, and the above-described processing is repeatedly executed.
  • step S52 If all the board groups are selected and the determination in step S52 is affirmative, the entire process in FIG. 13 (S12) is terminated, and the process proceeds to step S14 in FIG.
  • the respective processes are executed in the order of an external setup waiting time minimization process (S60), a substrate width change count minimization process (S62), and a man-hour variation leveling process (S64).
  • the manufacturing order optimization unit 40 performs the time from the start of manufacturing to the completion of manufacturing (from the start of the first board group to the last board group)
  • the manufacturing order of the substrate groups is optimized so as to minimize the time until the completion. For example, it is assumed that there are board groups A to C, and the setup time and mounting time of each group are as shown in FIG. In such a case, the manufacturing order optimizing unit 40 rearranges the manufacturing order of the board groups so that the time from the start of manufacturing to the completion is minimized, and optimizes the manufacturing order as shown in FIG. .
  • the manufacturing order optimization unit 40 defines input variables, decision variables, objective functions, and constraint conditions as follows and formulates them as integer programming problems.
  • I sg 1 is set when the board group g is put in the manufacturing order s, and 0 is set otherwise.
  • SS s Outer setup start time in manufacturing order s.
  • SE s end time of the outer setup in the production order s.
  • MS s Component mounting start time in manufacturing order s.
  • ME s component mounting end time in manufacturing order s.
  • the manufacturing order optimization unit 40 determines the value of each variable by solving the integer programming problem using the integer programming problem solver so that the objective function is minimized.
  • the manufacturing order optimization unit 40 stores the result (the manufacturing order of the board groups) obtained by this processing in the production plan information DB 56 (the board group manufacturing order table 156D).
  • the manufacturing order of the board groups is determined as shown in FIG. 16A, and the board included in each board group, the board width of each board, Assume that the mounting time of each substrate is fixed as shown in FIG. FIG. 16A is an example, and is not consistent with the DB shown in FIG.
  • step S62 the manufacturing order optimization unit 40 reduces the load of the lane width changing operation (manual operation of the worker) through which the mounter substrate flows, so that the number of changes in the substrate width is minimized. In this way, the manufacturing order of substrates is optimized using an integer programming problem solver. However, it is assumed that the manufacturing order of the board groups determined in step S60 is not changed.
  • the manufacturing order optimization unit 40 determines input variables, decision variables, objective functions, and constraint conditions as follows and formulates them as the shortest Hamiltonian path problem.
  • W de : 1 is set when there is a difference between the widths of the substrates d and e, and 0 is set otherwise.
  • DD input variable
  • the objective function is the number of changes in the substrate width and is expressed by the following equation (6).
  • Substrate group restriction Substrate manufacturing order is changed only within a substrate group.
  • Restriction of substrate order The substrates must be arranged in order. Also, every substrate must appear once in the order.
  • the manufacturing order optimization unit 40 determines the value of each variable by solving the shortest Hamiltonian path problem using an integer programming problem solver so that the objective function is minimized.
  • FIG. 16B shows the result of performing the process of step S62 on FIG. 16A.
  • the substrate width is changed five times (between the substrates A and B, between the substrates D and E, between the substrates E and F, between the substrates F and G, and between the substrates G and H.
  • the change in the substrate width is reduced to three times (between the substrates C and A, between the substrates E and F, and between the substrates I and G). Recognize.
  • step S64 the manufacturing order optimization unit 40 equalizes the load (man-hours) of the process after the surface mounting line 20 and improves the productivity, so that the surface mounting line 20 outputs to the subsequent process.
  • the substrate manufacturing order is optimized so that the number of substrates per time is leveled.
  • the manufacturing order of the board groups determined in step S60 is not changed, and the change in the width of the board determined in step S62 is not changed.
  • the manufacturing order optimization unit 40 defines input variables, decision variables, objective functions, and constraint conditions as follows and formulates them as integer programming problems.
  • F d in the above (3) means “man-hour” in the main process (man-hour variation leveling process).
  • DI s is a "time when made with the total number average cycle time per one sheet to the substrate manufacturing order s", from the "substrate manufacturing sequence 1 by individual substrates of up to s It must be equal to or greater than the absolute value of the difference in “total loading time”.
  • the manufacturing order optimization unit 40 determines the value of each variable by solving the integer programming problem using the integer programming problem solver so that the objective function is minimized.
  • the manufacturing order optimization unit 40 updates the arrangement order of the boards in each group of the board group table 156A of the production plan information DB 56 using the result obtained by this processing (the manufacturing order of the board groups).
  • FIG. 16C shows the result of executing the process of step S64 on FIG. 16B.
  • FIG. 16C shows mounting times (component mounting times) before and after the man-hour variation leveling process.
  • the continuous line of FIG. 17 has shown the ideal value (ideal man-hour).
  • DI s was 118, whereas after the man-hour variation leveling process (FIG. 16C, X in FIG. 17) , DI s is 96, and it can be seen that the man-hour variation is small and it is closer to the ideal.
  • the production plan output unit 46 in FIG. 5 transmits the information stored in the production plan information DB 56 to the production line 70 and the operator terminal 60 under the instruction of the control unit 34.
  • the production line 70 production according to production plan information is performed, so that production time can be shortened.
  • the board group optimization unit 36, the component allocation optimization unit 38, and the manufacturing order optimization unit 40 are included to influence the board production time.
  • a function of a processing unit that optimizes a plurality of given elements in stages is realized.
  • the substrate quantity information collection unit 30 and the production information collection unit 32 realize a function as an acquisition unit that acquires information related to substrate production.
  • the board quantity information collection unit 30 and the production information collection unit 32 acquire board quantity information and production information, and the board group optimization unit 36 and component allocation optimization.
  • a plurality of elements that affect the time required for the section 38 and the manufacturing order optimization section 40 to complete the board production based on the board quantity information and the production information.
  • Optimize in stages whereby, in this embodiment, since the optimization problem of the production plan of the production line 70 is solved by dividing it into the optimization problem that can be obtained in a realistic time, the combination explosion is prevented from occurring. Can do. Therefore, it is possible to determine a production plan that is close to the optimum production plan and that can be executed in a realistic time. That is, it is possible to reduce a processing load when generating a production plan.
  • processing is performed in the order of board group optimization, component allocation optimization, board manufacturing order optimization, and therefore, it is possible to perform processing without waste and without waste.
  • a board group with a large number of boards can be easily created because an exhaustive search is performed for a combination of boards with the maximum number of boards by being formulated as an integer programming problem. It becomes possible to reduce the number of groups. By reducing the number of substrate groups in this way, it is possible to reduce the external setup time.
  • an appropriate production plan is generated in order to exhaustively search the part assignment and board manufacturing order by formulating as an integer programming problem. Is possible.
  • the placement of the feeders of the parts stored in the carriage mounted on the mounter is optimized in the board group optimization and the parts allocation optimization. Therefore, it is possible to prevent a situation in which the feeder cannot be installed on the carriage when the production plan is executed.
  • the processing for minimizing the number of times of changing the substrate width (S62) and the processing for leveling the man-hour variation (S64) are performed.
  • the number of times of changing the width of the lane in which the substrate flows is reduced, thereby reducing the burden on the operator.
  • each optimization process is formulated as an integer programming problem, and optimization is performed using an integer programming problem solver, so even a large-scale integer programming problem can be solved in a short time. be able to.
  • Step S14 Steps S60 (External setup waiting time minimization process), S62 (Substrate width change number minimization process), and S64 (Man-hour variation leveling process) are executed. explained. However, the present invention is not limited to this. For example, only step S60 may be executed. Moreover, it is good also as performing step S60 and step S62 or step S64.
  • the server 10 may be in an on-premises form managed by a company or the like that owns the production line 70 as in the above embodiment (FIG. 1), or in the cloud as in the production system 200 shown in FIG. It may be in the form of a server.
  • the cloud server 110 in FIG. 18 acquires and processes data transmitted from the worker terminal 60 in the factory 150 via the network 180, and provides the processing result to the worker terminal 60.
  • the country where the cloud server 110 and the factory 150 are located may be different.
  • the above processing functions can be realized by a computer.
  • a program describing the processing contents of the functions that the processing apparatus should have is provided.
  • the program describing the processing contents can be recorded on a computer-readable recording medium (except for a carrier wave).
  • the program When the program is distributed, for example, it is sold in the form of a portable recording medium such as a DVD (Digital Versatile Disc) or CD-ROM (Compact Disc Read Only Memory) on which the program is recorded. It is also possible to store the program in a storage device of a server computer and transfer the program from the server computer to another computer via a network.
  • a portable recording medium such as a DVD (Digital Versatile Disc) or CD-ROM (Compact Disc Read Only Memory) on which the program is recorded. It is also possible to store the program in a storage device of a server computer and transfer the program from the server computer to another computer via a network.
  • the computer that executes the program stores, for example, the program recorded on the portable recording medium or the program transferred from the server computer in its own storage device. Then, the computer reads the program from its own storage device and executes processing according to the program. The computer can also read the program directly from the portable recording medium and execute processing according to the program. Further, each time the program is transferred from the server computer, the computer can sequentially execute processing according to the received program.

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • Physics & Mathematics (AREA)
  • Manufacturing & Machinery (AREA)
  • General Physics & Mathematics (AREA)
  • Economics (AREA)
  • Strategic Management (AREA)
  • Theoretical Computer Science (AREA)
  • Marketing (AREA)
  • Operations Research (AREA)
  • Tourism & Hospitality (AREA)
  • General Business, Economics & Management (AREA)
  • Quality & Reliability (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • General Engineering & Computer Science (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Game Theory and Decision Science (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Primary Health Care (AREA)
  • Computer Hardware Design (AREA)
  • Development Economics (AREA)
  • Automation & Control Theory (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • Supply And Installment Of Electrical Components (AREA)
  • General Factory Administration (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

生産ラインの生産計画を生成する際の処理負荷を軽減するため、基板物量情報収集部(30)及び生産情報収集部(32)が、基板物量情報及び生産情報を取得し、基板グループ最適化部(36)、部品割り当て最適化部(38)、及び製造順最適化部(40)が、基板物量情報及び生産情報に基づいて、基板の生産を完了するまでの所要時間に影響を与える複数の要素(基板グループ、部品割り当て、基板製造順)を段階的に最適化する。

Description

生産計画生成装置、生産計画生成プログラム及び生産計画生成方法
 本発明は、生産計画生成装置、生産計画生成プログラム及び生産計画生成方法に関する。
 近年の市場の変化、顧客ニーズの多様化に柔軟に対応するため、多品種少量生産によるものづくりが行われている。基板に部品を実装する生産ライン(SMT((Surface Mounting Technology)ライン)においても多品種少量生産が行われている。
 従来、基板生産に関し、生産効率の向上や作業時間の短縮化、段取り作業負荷の低減を図るための技術が知られている(例えば、特許文献1等参照)。
特開2013-191677号公報
 SMTラインにおける生産計画を立案する場合、生産を開始してから終了するまでに要する所要時間に影響を与える要素を最適化することで、製造時間を最小化する必要がある。このためには、製造予定の基板やSMTラインに関連する変数の組み合わせ最適化問題を解く必要がある。
 しかしながら、所要時間に影響を与える要素は互いに関連しており、要素間でトレードオフの関係にあるものもある。例えば、基板に対する部品の搭載時間と、部品を収めた台車(SMTライン内のマウンタに対して入れ替え可能な台車)を準備する時間(外段取り時間)は、トレードオフの関係にある。
 したがって、所要時間に影響を与える要素を決定する場合、要素の組合せは膨大なものとなるため、組合せ爆発対策を行う必要がある。
 1つの側面では、本発明は、生産ラインの生産計画を生成する際の処理負荷を軽減することが可能な生産計画生成装置、生産計画生成プログラム及び生産計画生成方法を提供することを目的とする。
 一つの態様では、生産計画生成装置は、基板の生産に関する情報を取得する取得部と、前記基板に部品を実装する実装ラインの設備情報に基づいて、前記基板の生産を完了するまでの所要時間に影響を与える複数の要素を段階的に最適化する処理部と、を備えている。
 生産ラインの生産計画を生成する際の処理負荷を軽減することができる。
一実施形態に係る生産システムの構成を概略的に示す図である。 生産ラインが有する表面実装ラインを示す図である。 部品搭載時間、外段取り時間、外段取り待ち時間について説明するための図である。 サーバのハードウェア構成を示す図である。 サーバの機能ブロック図である。 基板物量情報DBのデータ構造を示す図である。 図7(a)は、生産情報DBの搭載部品情報テーブルのデータ構造を示す図であり、図7(b)は、生産情報DBのマウンタ情報テーブルのデータ構造を示す図である。 図8(a)は、生産情報DBの台車位置情報テーブルのデータ構造を示す図であり、図8(b)は、生産情報DBの使用チャンネル数テーブルのデータ構造を示す図である。 図9(a)は、生産計画情報DBの基板グループテーブルのデータ構造を示す図であり、図9(b)は、生産計画情報DBの部品割り当てテーブルのデータ構造を示す図である。 図10(a)は、生産計画情報DBの外段取り計画テーブルのデータ構造を示す図であり、図10(b)は、生産計画情報DBの基板グループ製造順テーブルのデータ構造を示す図である。 サーバの処理を示すフローチャートである。 図11のステップS10の処理の詳細を示すフローチャートである。 図11のステップS12の処理の詳細を示すフローチャートである。 図11のステップS14の処理の詳細を示すフローチャートである。 図15(a)、図15(b)は、外段取り待ち時間の最小化処理について説明するための図である。 図16(a)~図16(c)は、図14の処理の結果を説明するための図である。 工数ばらつき平準化処理の効果を説明するための図である。 変形例を示す図である。
 以下、生産システムの一実施形態について、図1~図17に基づいて詳細に説明する。
 図1には、一実施形態に係る生産システム100の構成が概略的に示されている。図1に示すように、本実施形態の生産システム100は、生産ライン70と、生産計画生成装置としてのサーバ10と、作業者用端末60とを備える。生産ライン70とサーバ10と作業者用端末60とは、ネットワーク80に接続されている。
 生産ライン70は、一例として、図2に示すような表面実装ライン20を有するものとする。表面実装ライン20は、プリント基板(以下、単に「基板」と呼ぶ)に部品を実装するためのライン(SMTライン)であり、基板ローダ、ハンダ印刷機、印刷検査機、マウンタライン、実装検査機、リフロー炉、外観検査機、アンローダ等を備え、各装置間は、コンベアで接続されている。表面実装ライン20は、基板に部品を実装する複数のマウンタを有する。
 基板ローダは、コンベア上に基板をロードする。ハンダ印刷機は、基板上の所定の箇所にハンダを印刷する。印刷検査機は、基板上のハンダの検査を行う。印刷検査機による検査に合格した基板は、マウンタラインに搬送され、マウンタラインでは、各マウンタにおいて電子部品などの表面実装部品(以下、単に「部品」と呼ぶ)を基板上の印刷されたハンダ上に表面実装する。実装検査機は、基板上の部品の実装に不具合がないか検査する。リフロー炉は、検査に合格した基板に対してリフローを行うことで、部品を基板に固定する。外観検査機は、基板の外観に不具合がないか検査する。アンローダは、検査に合格した基板をコンベアから取り出す。
 なお、各表面実装ライン20(SMTライン)においては、生産計画において予め定められた順番に沿って基板を処理するものとする。
 ここで、表面実装ライン20には、以下のような設備制約がある。
(1) 基板に搭載する部品種は、部品供給装置(フィーダ)を用いてマウンタ用台車(表面実装部品供給用台車)に準備し、マウンタ用台車をマウンタに設置することで基板への部品搭載を行う。なお、マウンタ用台車に部品を準備する作業のことを「外段取り」と呼ぶ。
(2) マウンタで基板に搭載する部品種を交換するときは、台車単位での交換となる。なお、図2の左から2つ目のマウンタのように、1つのマウンタに複数の台車が設置される場合もある。
(3) 同じ基板に搭載する部品種全てがマウンタライン内のいずれかの台車に配置されている必要がある。すなわち、同一の基板の製造を行っている間はいずれのマウンタにおいても台車を交換することはできない。また、ある基板の製造を開始する前に外段取りが終了していないと該基板の製造を開始できない。このような外段取りが終了するまで基板の製造開始を待つ時間を、以下においては「外段取り待ち時間」と呼ぶ。例えば、図3に示すように、基板a,b,c用の外段取りが終了するまでの間は、基板a,b,cへの部品搭載ができないので、外段取り待ち時間が発生する。また、基板a,b,cへの部品搭載を行っている間に、並行して次の基板d,e用の外段取りを行うことはできる。しかしながら、基板a,b,cへの部品搭載が終わった後、基板d,e用の外段取りが終わるまでは、外段取り待ち時間が発生するため、基板d,eへの部品搭載はできない。なお、図3の基板a,b,cや基板d,e、基板f,g,hのまとまりは、マウンタそれぞれにセットされた部品を変更することなく連続して製造できる基板のまとまりであり、「基板グループ」である。
(4) 台車一台に準備できる部品種(フィーダ)には制限がある。なお、フィーダは、部品をマウンタに供給する装置であり、1つのフィーダで1種類の部品を供給する。フィーダへの部品の供給はリール等で行う。フィーダの部品がなくなった場合には新たなリール等をフィーダに設置する。
(5) フィーダの配置順により、台車のチャンネル使用量が異なる。これはフィーダの物理的な形状による干渉のため、隣り合うフィーダの組によって、フィーダ間に必要な最小限の隙間が異なるからである。したがって、1つの台車に収まるフィーダの数は、フィーダの配置順によって異なることになる。
(6) 部品種毎に外段取り時間が異なる。
 最近、表面実装ラインでは、多品種少量生産が行われることが多い。表面実装ラインにおいては、生産計画に含まれる全ての基板を製造する際に用いる全ての部品種を表面実装ラインに一度に設置することができず、台車の入れ替えを行う必要がある。この場合、搭載する部品が似通った基板をできるだけグループ化し、基板グループ内で共通の台車を用いるようにすれば、準備する台車の総数が減り、外段取り作業時間を短縮することができる。また、基板に搭載する部品の割り当て(どのマウンタのどの台車位置から基板にどの部品を何個搭載するか)によって、表面実装ラインでの基板への部品搭載時間(製造時間)が異なる。また、基板グループの製造順を変えることで、外段取り待ち時間も変わる。
 なお、一部のマウンタは台車が固定され、生産の開始から完了まで台車を変更することができないものもある。したがって、そのマウンタから搭載できる部品は生産の開始時点で台車に搭載されている部品種に限られる。このようなマウンタ、台車を、「固定マウンタ」、「固定台車」と呼び、固定マウンタでないマウンタを「段取りマウンタ」、固定台車でない台車を「段取り台車」と呼ぶものとする。
 図1に戻り、サーバ10は、予め定められている基板物量情報や生産情報に基づいて、生産ライン70に含まれる表面実装ライン20の生産計画を立案する。またサーバ10は、立案した生産計画を生産ライン70や作業者用端末60に送信する。
 図4には、サーバ10のハードウェア構成が示されている。図4に示すように、サーバ10は、CPU(Central Processing Unit)90、ROM(Read Only Memory)92、RAM(Random Access Memory)94、記憶部(ここではHDD(Hard Disk Drive))96、ネットワークインタフェース97、及び可搬型記憶媒体用ドライブ99等を備えている。これらサーバ10の構成各部は、バス98に接続されている。サーバ10では、ROM92あるいはHDD96に格納されているプログラム(生産計画生成プログラムを含む)、或いは可搬型記憶媒体用ドライブ99が可搬型記憶媒体91から読み取ったプログラム(生産計画生成プログラムを含む)をCPU90が実行することにより、図5に示す、各部としての機能が実現される。なお、CPUに限らず、MPU(Micro Processing Unit)等がプログラムを実行することにより各部の機能が実現されてもよい。また、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等の集積回路により各部の機能が実現されてもよい。なお、図5には、サーバ10のHDD96等に格納されている基板物量情報DB(database)52、生産情報DB54も図示されている。
 図5には、サーバ10の機能ブロック図が示されている。CPU90は、プログラムを実行することにより、図5に示す、基板物量情報収集部30、生産情報収集部32、制御部34、基板グループ最適化部36、部品割り当て最適化部38、製造順最適化部40、生産計画出力部46、として機能する。
 基板物量情報収集部30は、基板物量情報DB52から基板物量情報を収集し、制御部34に送信する。基板物量情報には、基板の生産に関する情報として、各基板を何枚製造するかの情報や各基板の幅の情報が含まれる。図6には、基板物量情報DB52のデータ構造の一例が示されている。図6に示すように、基板物量情報DB52は、「基板」、「枚数」、「基板幅」の各フィールドを有する。
 図5に戻り、生産情報収集部32は、生産情報DB54から生産情報を収集し、制御部34に送信する。生産情報DB54には、基板の生産に関する情報と、基板に部品を実装する表面実装ライン20の設備情報が含まれる。具体的には、生産情報DB54には、図7(a)に示す搭載部品情報テーブル154A、図7(b)に示すマウンタ情報テーブル154B、図8(a)に示す台車位置情報テーブル154C、及び図8(b)に示す使用チャンネル数テーブル154D、が含まれている。
 搭載部品情報テーブル154Aは、各基板にどの部品を何個搭載するかをまとめたテーブルであり、図7(a)に示すように、「基板」、「部品」、「1枚当たりの搭載数」の各フィールドを有する。例えば、図7(a)では、1枚の基板Aに対し、部品1を1個、部品2を5個、部品3を20個、部品4を400個搭載するという情報などが格納されている。
 マウンタ情報テーブル154Bは、各マウンタにセット可能な台車の情報を管理するテーブルである。マウンタ情報テーブル154Bは、図7(b)に示すように、「マウンタ」、「台車位置」、「台車のチャンネル数」、「固定/段取り」の各フィールドを有する。図7(b)においては、例えば、マウンタ1に、台車のチャンネル数が50の段取り台車(台車位置1)をセットできるという情報や、マウンタ2にチャンネル数が30の段取り台車(台車位置2_1、2_2)をセットできるという情報などが格納されている。なお、「台車位置」とは、マウンタの台車をセットする位置を意味する。「固定/段取り」のフィールドには、台車が固定台車であるか、段取り台車であるかの情報が格納されている。
 台車位置情報テーブル154Cは、台車位置それぞれの情報を管理するテーブルである。台車位置情報テーブル154Cは、図8(a)に示すように、「台車位置」、「部品」、「1個あたり搭載時間」、「部品が使用するチャンネル数」、「部品の外段取り時間」の各フィールドを有する。台車位置情報テーブル154Cでは、各台車位置に各部品を準備した場合に、部品1個を基板へ搭載するのにどの程度の時間がかかるか、又は搭載できないかの情報や、部品が使用する台車のチャンネル数がいくつあり、部品の外段取り時間の長さがどの程度であるのかの情報が格納されている。
 使用チャンネル数テーブル154Dは、各台車の各位置に部品(フィーダ)を設置した場合に、チャンネルをいくつ使用するかの情報を管理するテーブルである。使用チャンネル数テーブル154Dは、図8(b)に示すように、「台車位置」、「左側部品」、「右側部品」、「右側部品が使用するチャンネル数」の各フィールドを有する。使用チャンネル数テーブル154Dは、「台車位置」のフィールドに格納されている位置に「右側部品」のフィールドに格納されている部品を準備する場合の使用チャンネル数が格納されている。使用チャンネル数テーブル154Dでは、部品の左側に隣接する部品(「左側部品」のフィールドに格納されている部品)に応じて使用チャンネル数が異なることが示されている。なお、「左側部品」のフィールドに「-」が格納されている場合、「右側部品」のフィールドに格納されている部品が台車のチャンネル部分の左端に配置された場合を示している。
 図5に戻り、制御部34は、サーバ10の各機能(各部)の処理を統括的に制御する。例えば、制御部34は、基板物量情報収集部30及び生産情報収集部32が収集したデータ等を適切なタイミングで、各部36、38、40、46に送信したり、各部に適切なタイミングで処理を実行させたりする。
 基板グループ最適化部36、部品割り当て最適化部38、及び製造順最適化部40は、制御部34の指示の下、処理を実行し、処理結果を制御部34を介して生産計画情報DB56に格納する。具体的には、生産計画情報DB56には、図9(a)の基板グループテーブル156A、図9(b)の部品割り当てテーブル156B、図10(a)の外段取り計画テーブル156C、図10(b)の基板グループ製造順テーブル156D、が含まれる。なお、図9(a)~図10(b)の各テーブルの詳細については、後述する。
 基板グループ最適化部36は、基板に搭載する部品を同時にマウンタに設置でき、基板数(基板の種類数)が最も多くなる基板の組み合わせを求め、求めた基板の組み合わせを基板グループとする。基板グループ最適化部36は、整数計画問題として定式化し、GLPK(GNU Linear Programming Kit)等の整数計画問題ソルバを用いて基板グループの最適化処理を実行する。また、基板グループ最適化部36は、基板グループについて、部品(フィーダ)のすべてが台車に収まるか否かを、フィーダ配置最適化問題として整数計画問題ソルバを用いて判定する。なお、基板グループ最適化部36の処理の詳細については、後述する。基板グループ最適化部36の処理結果は、図9(a)の基板グループテーブル156Aに格納される。基板グループテーブル156Aには、各基板グループにどの基板が属しているかの情報が格納される。
 部品割り当て最適化部38は、基板グループごとに、その基板グループの搭載時間合計が最小になるように、マウンタへの部品割り当て(どのマウンタからどの部品を何個搭載するか)を整数計画問題ソルバを用いて最適化する。また、部品割り当て最適化部38は、マウンタへの部品割り当てを最適化した結果、部品(フィーダ)のすべてが台車に収まるか否かを、フィーダ配置最適化問題として整数計画問題ソルバを用いて判定する。なお、部品割り当て最適化部38の処理の詳細については、後述する。部品割り当て最適化部38の処理結果は、図9(b)の部品割り当てテーブル156Bと、図10(a)の外段取り計画テーブル156Cに格納される。部品割り当てテーブル156Bには、各基板に搭載する各部品がどのマウンタのどの台車位置に搭載され、各基板に各部品を何個搭載するかの情報が格納される。外段取り計画テーブル156Cには、各基板グループに対して、どのマウンタのどの台車のどのチャンネル位置にどの部品を収めるかの情報が格納される。なお、図10(a)の「チャンネル位置」のフィールドには、各部品のフィーダを台車に左から詰めて配置した場合における、左から数えた配置順が格納される。
 製造順最適化部40は、製造開始から製造完了までの時間を最小化するように、整数計画問題ソルバを用いて基板グループの製造順を最適化する。また、製造順最適化部40は、基板グループの製造順を最適化した後、基板グループの製造順を固定したまま、マウンタを流れる基板の幅の変化の回数が最小になるように、すなわち基板が通過するレーンの幅の切り替え作業の回数が最小になるように、整数計画問題ソルバを用いて、基板グループ内での基板の製造順を最適化する。さらに、製造順最適化部40は、基板の幅の変化の回数を維持したまま、表面実装ライン20の後の工程に出力する単位時間当たりの基板の枚数を平準化するように、整数計画問題ソルバを用いて、基板グループ内での基板の製造順を最適化する。なお、製造順最適化部40の処理の詳細については、後述する。製造順最適化部40の処理結果は、図10(b)の基板グループ製造順テーブル156Dに格納される。図10(b)の基板グループ製造順テーブル156Dには、各グループの製造順が格納される。また、製造順最適化部40は、処理結果に基づいて、図9(a)の基板グループテーブル156Aの基板の並び順を製造順に並べ替える。
 生産計画出力部46は、制御部34の指示の下、生産計画情報DB56に格納されている情報(生産計画)を、作業者用端末60に送信したり、生産ライン70に送信したりする。
 なお、生産計画には、上述したように、どの基板にどのマウンタからどの部品を何個搭載するか、基板をどういう順番で製造するか、いつマウンタの台車を入れ替えるか、入れ替える台車にどの部品を準備(配置)するか、等の情報が含まれている。生産計画により、基板への部品搭載時間、台車に部品を準備(配置)する時間(外段取り時間)、搭載に必要な部品の外段取り(台車への準備)が終わっていない場合の外段取り待ち時間、が変化し、製造時間が変わる。このため、サーバ10では、製造時間が短くなるように適切な生産計画を作成する。
 図1に戻り、作業者用端末60は、作業者が携帯したり、生産ライン70近傍に設置される端末であり、PC(Personal Computer)、タブレット型端末、スマートフォン等であるものとする。作業者用端末60は、ディスプレイを備えており、サーバ10で決定された生産計画を表示することで、作業者による作業を支援する。
(サーバ10による生産計画決定処理)
 以下、サーバ10による生産計画決定処理について、図11~図14のフローチャートに沿って、その他図面を参照しつつ詳細に説明する。
 図11の処理が実行されるのは、新たな基板の生産計画を立案する必要があるタイミングであり、例えば、生産ライン70における1日の操業が開始される前のタイミング等である。
 図11の処理では、基板グループ最適化処理(S10)、マウンタの部品割り当て最適化処理(S12)、製造順最適化処理(S14)が段階的に実行される。以下、各処理の詳細について説明する。
(基板グループ最適化処理(S10))
 基板グループ最適化処理は、基板グループ最適化部36が実行する処理であり、具体的には図12のフローチャートに沿った処理である。
 図12の処理では、まず、ステップS20において、基板グループ最適化部36は、基板グループの基板数を最大化する処理を実行する。基板グループ最適化部36は、以下のように、入力変数、決定変数、目的関数、制約条件を定めて、整数計画問題として定式化する。
(入力変数)
(1) Ofp:台車fに部品pのフィーダを設置した場合の使用チャンネル数。
(2) Mf:台車fの上限チャンネル数。
 ただし、(1)のOfpは、部品pのフィーダを台車fに設置したときに使用するチャンネル数の仮の値(台車位置情報テーブル154Cの「部品が使用するチャンネル数」のフィールドの値)であるものとする。
(決定変数)
(1) Gd:基板dを基板グループに入れるときに1が設定され、基板グループに入れないときに0が設定される。
(2) Sfp:台車fに部品pを設置するときに1が設定され、設置されないときに0が設定される。
(目的関数(最大化))
 目的関数は、グループ化する基板dの数であり、次式(1)で表される。
Figure JPOXMLDOC01-appb-M000001
(制約条件)
(1) 部品の充足制約:基板グループに入れる基板に搭載する部品は台車に設置されなければならない。
(2) チャンネル容量制約:台車fに設置した部品の使用チャンネル数の総和が台車fの上限チャンネル数を超えてはならない。
 基板グループ最適化部36は、目的関数が最大となるように整数計画問題ソルバを用いて整数計画問題を解くことで、各変数の値を決定する。
 次いで、ステップS22に移行すると、基板グループ最適化部36は、フィーダ配置を最適化する処理を実行する。前述したステップS20では、Ofpとして、部品pのフィーダを台車fに設置したときに使用するチャンネル数の仮の値を設定したため、実際に部品pのフィーダが台車fに設置できるとは限らない。台車に並べる部品の並び順により、使用チャンネル数が異なるためである。したがって、基板グループ最適化部36は、本ステップS22において、使用チャンネルが最小となる並び順を見つける。
 この場合、基板グループ最適化部36は、以下のように、入力変数、決定変数、目的関数、制約条件を定めて、最短ハミルトン路問題として定式化する。
(入力変数)
(1) Opq:部品pの右側に部品qを隣接して設置する場合に使用するチャンネル数。
(2) Qp:部品pを左端に設置する場合に使用するチャンネル数。
(決定変数)
(1) spq:部品pの右側に部品qを隣接して設置するときに1が設定され、そうでないときに0が設定される。
(2) lp:部品pが左端のときに1が設定され、そうでないときに0が設定される。
(目的関数(最小化))
 目的関数は、使用チャンネル数の総和であり、次式(2)で表される。
Figure JPOXMLDOC01-appb-M000002
(制約条件)
(1) 一列の制約:左端から右端まで一列に部品が並んでいなければならない。またすべての部品が必ず一度だけ、列に含まれなければならない。
 基板グループ最適化部36は、目的関数が最小となるように整数計画問題ソルバを用いて最短ハミルトン路問題を解くことで、各変数の値を決定する。
 上記のようにして、ステップS22の処理が行われた後は、ステップS24に移行し、基板グループ最適化部36は、フィーダを台車に配置可能か否かを判断する。この場合、上述したステップS22では、最小の使用チャンネル数の総和が求まるため、この最小の使用チャンネル数の総和と台車のチャンネル数とを比較し、次式(3)を満たす場合に、基板グループ最適化部36はフィーダを台車に配置できると判断する。
 最小の使用チャンネル数の総和≦台車のチャンネル数   …(3)
 ステップS24の判断が否定された場合には、ステップS26に移行し、基板グループ最適化部36は、台車のチャンネル数(上限チャンネル数Mf)を減らして(例えば1減らして)、ステップS20に戻る。ステップS20に戻った場合、ステップS24の判断が肯定されるまで、ステップS20~S26を繰り返し実行する。
 一方、ステップS24の判断が肯定された場合には、ステップS28に移行する。ステップS28では、基板グループ最適化部36は、基板グループを確定する。基板グループ最適化部36は、ステップS28において確定した基板グループの情報を制御部34を介して、生産計画情報DB56(基板グループテーブル156A(図9(a)))に格納する。そして、ステップS30に移行すると、基板グループ最適化部36は、これまでに確定した基板グループに含まれていない基板があるか否かを判断する。このステップS30の判断が肯定された場合には、ステップS32に移行し、確定した基板グループに含まれる基板を除外した上で、ステップS20に戻る。ステップS20に戻った場合、基板グループ最適化部36は、残りの基板を用いて、上述した処理と同様の処理を実行する。
 そして、すべての基板が基板グループに含まれた場合には、ステップS30の判断が否定され、図12(S10)の全処理を終了し、図11のステップS12に移行する。
(マウンタの部品割り当て最適化処理(S12))
 次に、部品割り当て最適化部38が実行する、図11のステップS12の処理(マウンタの部品割り当て最適化処理)について、図13のフローチャートに沿って説明する。
 図13の処理では、まず、ステップS40において、部品割り当て最適化部38は、ステップS10において確定した基板グループのうちの1つを選択する。
 次いで、ステップS42では、基板グループ搭載時間を最小化する処理を実行する。本処理では、選択した基板グループの搭載時間の合計が最小になるように、マウンタへの部品割り当てを最適化する。具体的には、部品割り当て最適化部38は、以下のように、入力変数、決定変数、目的関数、制約条件を定めて、整数計画問題として定式化する。
 なお、基板dに搭載が必要な部品pが固定台車fに割り当てられている場合は、固定台車fから基板dに部品pを搭載数だけ搭載するとして、決定変数Sfdpは予め(最適化前に)固定値としておく。
(入力変数)
(1) Mf:台車fの上限チャンネル数。
(2) TSdp:基板dに搭載する部品pの総搭載数。
(3) Cfp:台車fに部品pを設置した場合のマシンサイクルタイム。
(4) Ofp:台車fに部品pを設置した場合の使用チャンネル数。
(5) Qd:基板dの製造予定枚数。
 上記(3)のマシンサイクルタイムとは、台車のfの部品pを1つ基板に搭載するのに要する時間を意味する。また、(4)のOfpは、前述したように、部品pのフィーダを台車fに設置したときに使用するチャンネル数の仮の値である。
(決定変数)
(1) Sfdp:台車fから基板dに部品pを搭載する場合の搭載数。
(2) RSfp:台車fに部品pのフィーダを設置する場合に1が設定され、そうでないときに0が設定される。
(3) Tdf:基板dの台車fでの実装時間(総マシンサイクルタイム)。
(4) MTd:基板dの最大実装時間。
 上記(1)の搭載数は、その部品を対象基板に実装する数(実装数)を意味する。
(目的関数(最小化))
 目的関数は、次式(4)で表される。
Figure JPOXMLDOC01-appb-M000003
(制約条件)
(1) 搭載数の制約:個々の基板にそれぞれの部品を既定された搭載数だけ搭載しなければならない。
(2) 部品設置の制約:部品をいずれかの台車に設置しなければならない。
(3) 実装時間の制約:基板dの最大実装時間MTdは、基板dの各マウンタの実装時間Tdfの最大値と等しく、各マウンタの実装時間はマシンサイクルタイムCfpと搭載数Sfdpの積と等しい。
(4) トレイ部品設置の制約:トレイ部品専用台車fから基板dに搭載される部品pの占有チャンネル数の総和は、台車fの上限チャンネル数を超過することはできない。
(5) テープ/スティック部品設置の制約:テープ/スティック部品専用台車fに設置された部品群の占有チャンネル数の総和は、台車fの上限チャンネル数を超過することはできない。
 ここで、テープ/スティック部品専用台車と、トレイ部品専用台車では、機能や構成が異なる。トレイ部品は、1つの基板グループ内であっても、基板が変わる際に段取り替えすることが可能である。一方、テープ/スティック部品は、基板グループが変わる際にしか段取り替えができない。このため、上記制約では、トレイ部品に関しては、同じ基板に搭載する部品が使用するチャンネルが台車の上限チャンネル数を超えなければよい、とされている。
 部品割り当て最適化部38は、目的関数が最小となるように整数計画問題ソルバを用いて整数計画問題を解くことで、各変数の値を決定する。
 次いで、ステップS44に移行すると、部品割り当て最適化部38は、フィーダ配置を最適化する処理を実行する。前述したステップS42では、Ofpとして、部品pのフィーダを台車fに設置したときに使用するチャンネル数の仮の値を設定したため、実際に部品pのフィーダが台車fに設置できるとは限らない。台車に並べる部品の並び順により、使用チャンネル数が異なるためである。したがって、部品割り当て最適化部38は、本ステップS44において、使用チャンネルが最小となる並び順を見つける。なお、このステップS44の処理は、図12のステップS22と同様であるので、説明は省略する。
 ステップS44の処理が行われた後は、ステップS46に移行し、部品割り当て最適化部38は、フィーダを台車に配置可能か否かを判断する。この場合、部品割り当て最適化部38は、上述したステップS24と同様に判断を行う。
 そして、ステップS46の判断が否定された場合には、ステップS48に移行し、部品割り当て最適化部38は、台車のチャンネル数(上限チャンネル数)を減らして(例えば1減らして)、ステップS42に戻る。ステップS42に戻った場合、ステップS46の判断が肯定されるまで、ステップS42~S48を繰り返し実行する。
 一方、ステップS46の判断が肯定された場合には、ステップS50に移行する。ステップS50では、部品割り当て最適化部38は、これまでの処理に基づいて、台車への部品割り当てと、各部品の基板への実装数を決定する。部品割り当て最適化部38は、ステップS50において確定した情報を制御部34を介して、生産計画情報DB56(部品割り当てテーブル156B(図9(b))に格納する。
 その後、ステップS52に移行すると、部品割り当て最適化部38は、すべての基板グループをステップS40で選択済みか否かを判断する。このステップS52の判断が否定された場合には、ステップS40に戻る。ステップS40に戻った場合、未選択の基板グループの中から1つを選択し、上述した処理を繰り返し実行する。
 そして、すべての基板グループが選択され、ステップS52の判断が肯定された場合には、図13(S12)の全処理を終了し、図11のステップS14に移行する。
(製造順最適化処理(S14))
 次に、製造順最適化部40が実行する、図11のステップS14の処理(製造順最適化処理)について、図14のフローチャートに沿って説明する。
 図14の処理においては、外段取り待ち時間の最小化処理(S60)、基板幅替え回数の最小化処理(S62)、工数ばらつきの平準化処理(S64)の順に各処理が実行される。
(外段取り待ち時間の最小化処理(S60))
 外段取り待ち時間の最小化処理(S60)においては、製造順最適化部40は、製造開始から製造完了までの時間(1番目の基板グループの処理を開始してから最後の基板グループの処理を終了するまでの時間)を最小化するように、基板グループの製造順を最適化する。例えば、基板グループA~Cがあり、各グループの外段取り時間と実装時間が、図15(a)に示すような時間であったとする。このような場合に、製造順最適化部40は、製造開始から完了までの時間が最小となるように基板グループの製造順を並べ替え、図15(b)のように製造順を最適化する。
 以下、具体的な処理について説明する。製造順最適化部40は、以下のように、入力変数、決定変数、目的関数、制約条件を定めて、整数計画問題として定式化する。
(入力変数)
(1) STg:基板グループgの外段取り時間。
(2) MTg:基板グループgの部品搭載時間。
(決定変数)
(1) Isg:製造順sに基板グループgを投入するときに1が設定され、そうでないときに0が設定される。
(2) SSs:製造順sにおける外段取り開始時刻。
(3) SEs:製造順sにおける外段取り終了時刻。
(4) MSs:製造順sにおける部品搭載開始時刻。
(5) MEs:製造順sにおける部品搭載終了時刻。
(目的関数(最小化))
 ME|s|:最終製造順における部品搭載終了時刻。
(制約条件)
(1) 製造順の制約:基板グループの製造順の中に、全ての基板グループはそれぞれ1回現れなければならない。
(2) 開始、終了時刻の制約:製造順s+1における外段取り開始時刻は、製造順sにおける外段取り終了時刻以降でなければならない。また、製造順sにおける部品搭載開始時刻は、製造順sにおける外段取り終了時刻以降でなければならない。
(3) 外段取り、搭載時間の制約:「製造順sの外段取り終了時刻-製造順sの外段取り開始時刻」は、製造順sの基板グループの外段取り時間と等しい。また、「製造順sの部品搭載終了時刻-製造順sの部品搭載開始時刻」は製造順sの基板グループの部品搭載時間と等しい。
 製造順最適化部40は、目的関数が最小となるように整数計画問題ソルバを用いて整数計画問題を解くことで、各変数の値を決定する。製造順最適化部40は、本処理により得られた結果(基板グループの製造順)を、生産計画情報DB56(基板グループ製造順テーブル156D)に格納する。
 なお、外段取り待ち時間の最小化処理が行われたことにより、図16(a)に示すように基板グループの製造順が決定され、各基板グループに含まれる基板と、各基板の基板幅と、各基板の搭載時間が図16(a)に示すように定まっているものとする。なお、図16(a)は一例であり、図6等に示すDBとの整合性はとれていないものである。
(基板幅替え回数の最小化処理(S62))
 次に、基板幅替え回数の最小化処理(S62)について説明する。ステップS62の処理においては、製造順最適化部40は、マウンタの基板が流れるレーンの幅の変更作業(作業者の手作業)の負荷を軽減するため、基板の幅の変化回数が最小になるように、整数計画問題ソルバを用いて基板の製造順を最適化する。ただし、ステップS60で決定した基板グループの製造順は変えないものとする。
 以下、具体的な処理について説明する。製造順最適化部40は、以下のように、入力変数、決定変数、目的関数、制約条件を定めて、最短ハミルトン路問題として定式化する。
(入力変数)
(1) Wde:基板dと基板eの幅の間に差があるときには1が設定され、そうでない場合には0が設定される。
 なお、基板と基板のペア(2つの基板の組み合わせ)の集合をDDとした場合に、d,eは、次式(5)を満たすものとする。
Figure JPOXMLDOC01-appb-M000004
(決定変数)
(1) sde:基板dと基板eがd,eの順に連続して投入されるときに1が設定され、そうでないときに0が設定される。
(目的関数(最小化))
 目的関数は、基板幅の変更回数であり、次式(6)で表される。
Figure JPOXMLDOC01-appb-M000005
(制約条件)
(1) 基板グループ制約:基板グループ内でのみ基板の製造順を入れ替える。
(2) 基板の順番の制約:順番に基板が並んでいなければならない。また順番の中に全ての基板はそれぞれ1回現れなければならない。
 製造順最適化部40は、目的関数が最小となるように整数計画問題ソルバを用いて最短ハミルトン路問題を解くことで、各変数の値を決定する。
 なお、図16(b)には、図16(a)に対してステップS62の処理を実行した結果が示されている。図16(a)の場合、基板幅の変更が5回(基板AとBの間、基板DとEの間、基板EとFの間、基板FとGの間、基板GとHの間)であったが、図16(b)の場合、基板幅の変更が3回(基板CとAの間、基板EとFの間、基板IとGの間)に減少していることがわかる。
(工数ばらつきの平準化処理(S64))
 次に、工数ばらつきの平準化処理(S64)について説明する。ステップS64の処理においては、製造順最適化部40は、表面実装ライン20の後の工程の負荷(工数)を平準化し、生産性を向上するため、表面実装ライン20が後工程に出力する単位時間当たりの基板枚数を平準化するように、基板の製造順を最適化する。ただし、ステップS60で決定した基板グループの製造順は変えず、ステップS62で決定した基板の幅の変化は変えないようにする。
 以下、具体的な処理について説明する。製造順最適化部40は、以下のように、入力変数、決定変数、目的関数、制約条件を定めて、整数計画問題として定式化する。
(入力変数)
(1) Qd:基板dの枚数
(2) Td:基板dの、基板1枚の各マウンタでの実装時間のうちの最大実装時間(=基板dのサイクルタイム)。
(3) Fd:基板dのサイクルタイムTdに枚数を掛けた値(基板dの総搭載時間)であり、次式(7)で表される。
 Fd=Td×Qd   …(7)
(4) μ:平均サイクルタイム(基板の枚数に応じた重み付き平均)であり、次式(8)で表される。
Figure JPOXMLDOC01-appb-M000006
 なお、上記(3)のFdは、本処理(工数ばらつき平準化処理)における「工数」を意味する。
(決定変数)
(1) Ssd:製造順sに基板dを投入する場合には1が設定され、そうでない場合には0が設定される。
(2) DIs:「製造順sまでの理想工数」と「製造順1番目から製造順sまでの工数(の和)」の差の絶対値。
(目的関数(最小化))
 目的関数は、DIsの総和であり、次式(9)で表される。
Figure JPOXMLDOC01-appb-M000007
(制約条件)
(1) 基板製造順入れ替えの制約:同じ基板グループ内で、かつ、同じ基板幅の基板の間でしか、基板の製造順を入れ替えてはならない。
(2) 基板の順番の制約:順番に基板が並んでいなければならない。また順番の中に全ての基板はそれぞれ1回現れなければならない。
(3) DIsの制約:DIsは「基板製造順sまでの合計枚数を1枚あたり平均サイクルタイムで作ったときの時間」と、「基板製造順1からsまでの個々の基板別の総搭載時間の合計」の差の絶対値に等しい、もしくはそれ以上でなければならない。
 製造順最適化部40は、目的関数が最小となるように整数計画問題ソルバを用いて整数計画問題を解くことで、各変数の値を決定する。製造順最適化部40は、本処理により得られた結果(基板グループの製造順)を用いて、生産計画情報DB56の基板グループテーブル156Aの各グループにおける基板の並び順を更新する。
 ここで、図16(c)には、図16(b)に対してステップS64の処理を実行した結果が示されている。なお、図16(c)では、両矢印で示すように、図16(c)から、基板CとB、基板IとHの製造順が入れ替わっている。また、図17には、工数ばらつき平準化処理の前後における実装時間(部品搭載時間)が示されている。なお、図17の実線は、理想値(理想工数)を示している。工数ばらつき平準化処理前(図16(b)、図17の〇)は、DIsが118であったのに対し、工数ばらつき平準化処理後(図16(c)、図17の×)は、DIsが96になり、工数ばらつきが少なく、より理想に近づいていることがわかる。
 以上のようにして、図14の処理が終了すると、図11の全処理も終了する。
 なお、図5の生産計画出力部46は、制御部34の指示の下、生産計画情報DB56に格納された情報を生産ライン70や作業者用端末60に対して送信する。生産ライン70において、生産計画情報に沿った生産が行われることにより、生産時間を短縮することが可能となっている。
 これまでの説明から明らかなように、本実施形態では、基板グループ最適化部36と、部品割り当て最適化部38と、製造順最適化部40と、を含んで、基板の生産時間に影響を与える複数の要素を段階的に最適化する処理部の機能が実現されている。また、基板物量情報収集部30と、生産情報収集部32と、により、基板の生産に関する情報を取得する取得部としての機能が実現されている。
 以上、詳細に説明したように、本実施形態によると、基板物量情報収集部30及び生産情報収集部32が、基板物量情報及び生産情報を取得し、基板グループ最適化部36、部品割り当て最適化部38、及び製造順最適化部40が、基板物量情報及び生産情報に基づいて、基板の生産を完了するまでの所要時間に影響を与える複数の要素(基板グループ、部品割り当て、基板製造順)を段階的に最適化する。これにより、本実施形態では、現実的な時間で解が求まる最適化問題に分割して、生産ライン70の生産計画の最適化問題を解くこととしているので、組み合わせ爆発を発生させないようにすることができる。したがって、最適な生産計画に近く、かつ実行可能な生産計画を、現実的な時間で決定することが可能となる。すなわち、生産計画を生成する際の処理負荷を軽減することができる。
 また、本実施形態によると、基板グループ最適化、部品割り当て最適化、基板製造順最適化、の順に処理を行うため、処理の重複等が少なく、無駄のない処理を行うことができる。
 また、本実施形態では、基板グループ最適化において、整数計画問題として定式化することで基板数最大の基板の組み合わせを網羅的探索するため、基板数の多い基板グループが作られやすく、それにより基板グループ数を減らすことが可能となる。このように基板グループ数を減らすことで、外段取り時間を削減することが可能となる。
 また、本実施形態では、部品割り当て最適化、基板製造順最適化においても、整数計画問題として定式化することで部品割り当てや基板製造順を網羅的探索するため、適切な生産計画を生成することが可能となる。
 また、本実施形態では、基板グループ最適化及び部品割り当て最適化において、マウンタに搭載する台車に収める部品のフィーダの配置を最適化する。これにより、生産計画を実行する際に台車にフィーダを設置できないという事態が発生するのを防止することができる。
 また、本実施形態では、基板製造順の最適化において、基板幅替え回数の最小化処理(S62)及び工数ばらつきの平準化処理(S64)を行うこととしている。これにより、基板が流れるレーンの幅替え作業の回数が減ることで、作業者の作業負担が軽減する。また、工数ばらつきを平準化することで、表面実装ライン20の後工程の生産性を向上させることが可能である。
 また、本実施形態では、各最適化処理を整数計画問題として定式化し、整数計画問題ソルバを利用して最適化を行うこととしているので、大規模な整数計画問題であっても短時間で解くことができる。
 なお、上記実施形態では、ステップS14において、ステップS60(外段取り待ち時間の最小化処理)、S62(基板幅替え回数の最小化処理),S64(工数ばらつきの平準化処理)を実行する場合について説明した。しかしながら、これに限らず、例えば、ステップS60のみを実行することとしてもよい。また、ステップS60と、ステップS62又はステップS64と、を実行することとしてもよい。
 なお、サーバ10は、上記実施形態(図1)のように、生産ライン70を所有する会社等で管理されるオンプレミスの形態であってもよいし、図18に示す生産システム200のようにクラウドサーバの形態であってもよい。図18のクラウドサーバ110は、工場150内の作業者用端末60からネットワーク180を介して送信されてくるデータを取得して、処理し、処理結果を作業者用端末60に提供する。なお、クラウドサーバ110と、工場150の所在国は異なっていてもよい。
 なお、上記の処理機能は、コンピュータによって実現することができる。その場合、処理装置が有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体(ただし、搬送波は除く)に記録しておくことができる。
 プログラムを流通させる場合には、例えば、そのプログラムが記録されたDVD(Digital Versatile Disc)、CD-ROM(Compact Disc Read Only Memory)などの可搬型記録媒体の形態で販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
 プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、サーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムに従った処理を実行することもできる。
 上述した実施形態は本発明の好適な実施の例である。但し、これに限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変形実施可能である。
  10 サーバ(生産計画生成装置)
  20 表面実装ライン(実装ライン)
  30 基板物量情報収集部(取得部の一部)
  32 生産情報収集部(取得部の一部)
  36 基板グループ最適化部(処理部の一部)
  38 部品割り当て最適化部(処理部の一部)
  40 製造順最適化部(処理部の一部)

Claims (11)

  1.  基板の生産に関する情報と、前記基板に部品を実装する実装ラインの設備情報と、を取得する取得部と、
     前記基板の生産に関する情報と、前記実装ラインの設備情報と、に基づいて、前記基板の生産を完了するまでの所要時間に影響を与える複数の要素を段階的に最適化する処理部と、
    を備える生産計画生成装置。
  2.  前記処理部は、前記基板のグループ分けの最適化、部品をセットするマウンタに対する部品割り当ての最適化、前記基板の製造順の最適化、の順に処理を実行する、ことを特徴とする請求項1に記載の生産計画生成装置。
  3.  前記処理部は、前記基板のグループ分けの最適化、および前記マウンタに対する部品割り当ての最適化において、前記マウンタに搭載する台車に対する部品のフィーダの配置を最適化する、ことを特徴とする請求項2に記載の生産計画生成装置。
  4.  前記処理部は、前記基板の製造順の最適化において、前記実装ラインに投入される基板の大きさが変わる回数の最小化、および前記実装ラインに基板が投入される単位時間当たりの枚数のばらつきの最小化、の少なくとも一方を行う、ことを特徴とする請求項2又は3に記載の生産計画生成装置。
  5.  前記処理部は、前記複数の要素を最適化するときに、整数計画問題として定式化し、整数計画問題ソルバを利用して最適化を行うことを特徴とする請求項1~4のいずれか一項に記載の生産計画生成装置。
  6.  基板の生産に関する情報と、前記基板に部品を実装する実装ラインの設備情報と、を取得し、
     前記基板の生産に関する情報と、前記実装ラインの設備情報と、に基づいて、前記基板の生産を完了するまでの所要時間に影響を与える複数の要素を段階的に最適化する、
     処理をコンピュータに実行させるための生産計画生成プログラム。
  7.  前記最適化する処理では、前記基板のグループ分けの最適化、部品をセットするマウンタに対する部品割り当ての最適化、前記基板の製造順の最適化、の順に処理を実行する、ことを特徴とする請求項6に記載の生産計画生成プログラム。
  8.  前記基板のグループ分けの最適化、および前記マウンタに対する部品割り当ての最適化において、前記マウンタに搭載する台車に対する部品のフィーダの配置を最適化する、ことを特徴とする請求項7に記載の生産計画生成プログラム。
  9.  前記基板の製造順の最適化において、前記実装ラインに投入される基板の大きさが変わる回数の最小化、および前記実装ラインに基板が投入される単位時間当たりの枚数のばらつきの最小化、の少なくとも一方を行う、ことを特徴とする請求項7又は8に記載の生産計画生成プログラム。
  10.  前記複数の要素を最適化するときに、整数計画問題として定式化し、整数計画問題ソルバを利用して最適化を行うことを特徴とする請求項6~9のいずれか一項に記載の生産計画生成プログラム。
  11.  基板の生産に関する情報と、前記基板に部品を実装する実装ラインの設備情報と、を取得し、
     前記基板の生産に関する情報と、前記実装ラインの設備情報と、に基づいて、前記基板の生産を完了するまでの所要時間に影響を与える複数の要素を段階的に最適化する、
     処理をコンピュータが実行することを特徴とする生産計画生成方法。
PCT/JP2017/016614 2017-04-26 2017-04-26 生産計画生成装置、生産計画生成プログラム及び生産計画生成方法 WO2018198246A1 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
PCT/JP2017/016614 WO2018198246A1 (ja) 2017-04-26 2017-04-26 生産計画生成装置、生産計画生成プログラム及び生産計画生成方法
CN201780089480.5A CN110494812B (zh) 2017-04-26 2017-04-26 生产计划生成装置、生产计划生成程序及生产计划生成方法
EP17907291.3A EP3617821B1 (en) 2017-04-26 2017-04-26 Production plan generation device, production plan generation program, and production plan generation method
JP2019514965A JP6950738B2 (ja) 2017-04-26 2017-04-26 生産計画生成装置、生産計画生成プログラム及び生産計画生成方法
US16/579,926 US10824782B2 (en) 2017-04-26 2019-09-24 Information processing device, recording medium recording production plan generation program, and production plan generation method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2017/016614 WO2018198246A1 (ja) 2017-04-26 2017-04-26 生産計画生成装置、生産計画生成プログラム及び生産計画生成方法

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US16/579,926 Continuation US10824782B2 (en) 2017-04-26 2019-09-24 Information processing device, recording medium recording production plan generation program, and production plan generation method

Publications (1)

Publication Number Publication Date
WO2018198246A1 true WO2018198246A1 (ja) 2018-11-01

Family

ID=63920349

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2017/016614 WO2018198246A1 (ja) 2017-04-26 2017-04-26 生産計画生成装置、生産計画生成プログラム及び生産計画生成方法

Country Status (5)

Country Link
US (1) US10824782B2 (ja)
EP (1) EP3617821B1 (ja)
JP (1) JP6950738B2 (ja)
CN (1) CN110494812B (ja)
WO (1) WO2018198246A1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020077081A (ja) * 2018-11-06 2020-05-21 日本電気株式会社 投入計画作成支援装置および投入計画作成支援方法
CN114746817A (zh) * 2019-12-04 2022-07-12 株式会社富士 运转状况显示装置以及运转状况显示方法
JP7441709B2 (ja) 2020-04-03 2024-03-01 Juki株式会社 生産効率化システム、生産効率化サーバ及び生産効率化プログラム

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7108830B2 (ja) * 2018-03-30 2022-07-29 パナソニックIpマネジメント株式会社 準備計画作成方法および準備計画作成装置
JP2023013367A (ja) * 2021-07-16 2023-01-26 富士通株式会社 情報処理装置、作業計画立案方法、および作業計画立案プログラム

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004157922A (ja) * 2002-11-08 2004-06-03 Toshiba Corp 需給調整方法及びそのシステム、製品の製造方法
JP2010537328A (ja) * 2007-08-31 2010-12-02 アーベーベー・リサーチ・リミテッド 工業的な設置作業における複雑な製造シーケンスの最適化されたプランのための方法およびシステム
JP2013122733A (ja) * 2011-12-12 2013-06-20 Fujitsu Ltd 生産計画プログラム及び生産計画装置
JP2013191677A (ja) 2012-03-13 2013-09-26 Fujitsu Telecom Networks Ltd 製造支援システム
JP2015090532A (ja) * 2013-11-05 2015-05-11 新日鐵住金株式会社 キャスト計画立案装置、方法及びプログラム

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10207861A (ja) 1997-01-24 1998-08-07 Hitachi Eng Co Ltd 計画立案装置および計画立案方法
JP2000141174A (ja) 1998-11-13 2000-05-23 Toshiba Corp 生産システム管理方法及びその装置
CN100508726C (zh) * 2000-08-04 2009-07-01 松下电器产业株式会社 用于优化元件安装顺序的方法,采用该方法的装置及组装机器
JP3466153B2 (ja) 2000-11-30 2003-11-10 松下電器産業株式会社 部品実装順序最適化方法、その装置及び部品実装機
US7043820B2 (en) * 2001-07-27 2006-05-16 Fuji Machine Mfg. Co., Ltd. Electric-component mounting system
TWI255971B (en) * 2002-11-29 2006-06-01 Asml Netherlands Bv Lithographic apparatus and device manufacturing method
US7164465B2 (en) * 2004-07-13 2007-01-16 Anvik Corporation Versatile maskless lithography system with multiple resolutions
JP4757700B2 (ja) * 2006-04-25 2011-08-24 Juki株式会社 生産プログラム作成システム
JP5163203B2 (ja) * 2008-03-18 2013-03-13 富士電機株式会社 製造計画作成システムおよび製造計画作成方法
JP5535032B2 (ja) * 2010-10-27 2014-07-02 株式会社日立ハイテクインスツルメンツ 部品装着システム、部品装着設定装置、部品装着設定プログラム、及び部品装着方法
JP2012134303A (ja) 2010-12-21 2012-07-12 Hitachi High-Tech Instruments Co Ltd 電子部品装着装置、および、電子部品装着方法
JP6128495B2 (ja) * 2012-07-04 2017-05-17 パナソニックIpマネジメント株式会社 電子部品実装構造体、icカード、cofパッケージ
US9974220B2 (en) 2012-07-06 2018-05-15 Siemens Aktiengesellschaft Method for fitting printed circuit boards with components
US11596071B2 (en) * 2013-11-29 2023-02-28 Botfactory Inc. Apparatus for depositing conductive and nonconductive material to form a printed circuit
WO2015081347A1 (en) * 2013-11-29 2015-06-04 Michael Knox Apparatus and method for the manufacturing of printed wiring boards and component attachment
DE102014222936A1 (de) * 2014-11-11 2016-05-12 Siemens Aktiengesellschaft Bestücken von Leiterplatten
EP3451811B1 (en) * 2016-04-26 2023-02-01 Fujitsu Limited Production plan generation device, production plan generation method, and production plan generation program

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004157922A (ja) * 2002-11-08 2004-06-03 Toshiba Corp 需給調整方法及びそのシステム、製品の製造方法
JP2010537328A (ja) * 2007-08-31 2010-12-02 アーベーベー・リサーチ・リミテッド 工業的な設置作業における複雑な製造シーケンスの最適化されたプランのための方法およびシステム
JP2013122733A (ja) * 2011-12-12 2013-06-20 Fujitsu Ltd 生産計画プログラム及び生産計画装置
JP2013191677A (ja) 2012-03-13 2013-09-26 Fujitsu Telecom Networks Ltd 製造支援システム
JP2015090532A (ja) * 2013-11-05 2015-05-11 新日鐵住金株式会社 キャスト計画立案装置、方法及びプログラム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP3617821A4

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020077081A (ja) * 2018-11-06 2020-05-21 日本電気株式会社 投入計画作成支援装置および投入計画作成支援方法
JP7215087B2 (ja) 2018-11-06 2023-01-31 日本電気株式会社 投入計画作成支援装置、投入計画作成支援方法および投入計画作成支援プログラム
CN114746817A (zh) * 2019-12-04 2022-07-12 株式会社富士 运转状况显示装置以及运转状况显示方法
EP4071567A4 (en) * 2019-12-04 2022-12-07 Fuji Corporation OPERATION STATE DISPLAY DEVICE AND OPERATION STATE DISPLAY METHOD
JP7441709B2 (ja) 2020-04-03 2024-03-01 Juki株式会社 生産効率化システム、生産効率化サーバ及び生産効率化プログラム

Also Published As

Publication number Publication date
US20200019655A1 (en) 2020-01-16
JP6950738B2 (ja) 2021-10-13
JPWO2018198246A1 (ja) 2019-12-12
CN110494812A (zh) 2019-11-22
EP3617821A1 (en) 2020-03-04
US10824782B2 (en) 2020-11-03
EP3617821A4 (en) 2020-04-22
CN110494812B (zh) 2022-06-24
EP3617821B1 (en) 2023-03-29

Similar Documents

Publication Publication Date Title
WO2018198246A1 (ja) 生産計画生成装置、生産計画生成プログラム及び生産計画生成方法
WO2017187512A1 (ja) 製造計画生成装置、製造計画生成方法及び製造計画生成プログラム
JP4545115B2 (ja) 生産条件決定方法、生産条件決定装置、部品実装機およびプログラム
JP6141426B2 (ja) 実装ラインに対して機械設備ファミリを形成するための方法
DE112009000375T5 (de) Verfahren zum Bestimmen der Montagebedingungen
JP4996634B2 (ja) 実装条件決定方法および実装条件決定装置
CN107114016B (zh) 用于装配印制电路板的方法和系统
JP6461340B2 (ja) プリント基板への実装を行うための方法およびシステムならびにコンピュータプログラム
JP6395708B2 (ja) 複数の生産ラインを有する電子部品装着システムの管理方法及び管理装置
CN114585982A (zh) 配置辅助方法、学习完毕模型的生成方法、程序、配置辅助系统以及作业系统
CN109688783B (zh) 为贴装机准备安装套件的方法
Kulak et al. A GA-based solution approach for balancing printed circuit board assembly lines
EP3484255B1 (en) Production plan creation system and production plan creation method
JP5038970B2 (ja) 実装条件決定方法、実装条件決定装置、部品実装方法、部品実装機およびプログラム
JP2007150340A (ja) 部品実装最適化方法、部品実装最適化装置、部品実装最適化プログラム、及び部品実装装置
JP4251909B2 (ja) プリント基板実装工程における生産管理方法とそのシステム
JP4887328B2 (ja) 実装条件決定方法
SAWIK et al. Scheduling of printed wiring board assembly in surface mount technology lines
JP6547613B2 (ja) 算出装置、算出方法および算出プログラム
Yilmaz et al. Simulation of mixed-model PCB assembly lines with group setup and bypass conveyors
JP3326643B2 (ja) 部品段取支援方法及び基板生産方法
JP6644844B2 (ja) 複数の生産ラインを有する電子部品装着システムの管理方法及び割付装置
CN118985181A (zh) 用于为预先给定数目的多组一个或多个装配线确定印刷电路板类型的至少一个固定装备装备族的计算机实现的方法
CN116579449A (zh) 用于确定组件类型到所选择的装配线的最优分配的方法
JP4101277B2 (ja) 部品実装最適化方法、部品実装最適化装置、部品実装最適化プログラム、及び部品実装装置

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

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2019514965

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2017907291

Country of ref document: EP

Effective date: 20191126