DE69123120T2 - Verfahren zur Herstellung von gedruckten Leiterplatten - Google Patents

Verfahren zur Herstellung von gedruckten Leiterplatten

Info

Publication number
DE69123120T2
DE69123120T2 DE69123120T DE69123120T DE69123120T2 DE 69123120 T2 DE69123120 T2 DE 69123120T2 DE 69123120 T DE69123120 T DE 69123120T DE 69123120 T DE69123120 T DE 69123120T DE 69123120 T2 DE69123120 T2 DE 69123120T2
Authority
DE
Germany
Prior art keywords
machine
board
component
effort
components
Prior art date
Legal status (The legal status 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 status listed.)
Expired - Fee Related
Application number
DE69123120T
Other languages
English (en)
Other versions
DE69123120D1 (de
Inventor
Corey A Billington
Margaret L Brandeau
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hewlett Packard Development Co LP
Original Assignee
Hewlett Packard Co
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 Hewlett Packard Co filed Critical Hewlett Packard Co
Application granted granted Critical
Publication of DE69123120D1 publication Critical patent/DE69123120D1/de
Publication of DE69123120T2 publication Critical patent/DE69123120T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

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/04Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
    • 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
    • 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
    • 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]

Landscapes

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

Description

  • Diese Erfindung bezieht sich allgemein auf die Arbeitszuteilung in einer Montagelinie und insbesondere auf Operationszuweisungsprobleme bei einem Montageverfahren gedruckter Schaltungsplatinen (PC-Platinen; PC = printed circuit).
  • Zusammen mit dem Erscheinen leistungsfähiger automatisierter Herstellungssysteme entstand eine Menge komplexer Entwurfs- und Steuer-Probleme. Diese Probleme umfassen die Maschinen- Gruppierung, die Bauteiltyp-Auswahl, die Operationszuwei- sung, die Montagevorrichtungszuteilung und die Werkzeugbeladung. Einige dieser Probleme wurden bereits gemäß dem Stand der Technik betrachtet, beispielsweise das Werkzeugbeladungsproblem von flexiblen Herstellungssystemen (Flexible Manufacturing Systems (FMS's)). Dieses Problem besteht darin, Operationen und erforderliche Werkzeuge unter Gruppen von Maschinen zuzuteilen, während Technologie- und Kapazitäts-Beschränkungen der Maschinen erfüllt sind. Gemäß dem Stand der Technik wurde eine Anzahl unterschiedlicher Ziele vorgeschlagen, einschließlich des Abstimmens von Maschinen- Arbeitsbelastungen und des Minimierens der Anzahl von Bewegungen von Aufträgen (Jobs) zwischen Maschinen. Eine frühere Formulierung des FMS-Werkzeugbeladungsproblems ist ein Zuweisungsproblem mit einem linearen Ziel - dem des Zuweisens von Auftragsarten zu Maschinen, um die variablen Gesamtverarbeitungskosten pro Auftrag unter Vorbehalt der Maschinen- Kapazitätsbeschränkungen zu minimieren.
  • In einem Artikel von Arvind Rajan im ATeT Technical Journal, Bd. 68, Nr. 3 vom Juni 1989, mit dem Titel "Assigning components to robotic work-cells for electronic assembly", ist ein Verfahren des Leitens von Schaltungspaketen in einer Mehrprodukt-Montagelinie zu Roboterarbeitszellen offenbart. Jeder Typ eines Schaltungspakets wird nur zu Arbeitszellen geleitet, die eine oder mehrere der benötigten Komponenten aufweisen, um dadurch einen gegebenen Satz von Komponenten unter einer Gruppe von identischen Arbeitszellen aufzuteilen, um eine Beladungsabstimmung zwischen den Arbeitszellen sicherzustellen und die Gesamt-Arbeitszellenbesuche durch die Schaltungspakete zu minimieren. Die Komponenten werden einer festen Anzahl von Arbeitszellen zugewiesen, die physikalisch getrennt sind und gleichzeitig betrieben werden.
  • Die Zuweisung umfaßt eine heuristische Bedarfs-Prozedur, die folgende Schritte aufweist: Sortieren der Schaltungspakettypen nach abnehmendem Volumen; Zuweisen aller Komponenten, die dem ersten Pakettyp entsprechen, zu so wenigen Arbeitszellen wie möglich, bei gegebenen Beschränkungen bezüglich der Anzahl von Zuführungsvorrichtungen und für das Einfügungsvolumen; Zuweisen der Komponenten des Pakettyps mit dem zweitgrößten Volumen zu so wenigen Arbeitszellen wie möglich, beginnend mit der letzten, partiell gefüllten Arbeitszelle; Fortfahren auf diese Art und Weise entlang der Liste von Schaltungspakettypen, wobei zu der ersten Arbeitszelle zurückgesprungen wird, wenn keine weitere leere Arbeitszelle verbleibt, bis alle Komponenten zugewiesen wurden.
  • Weitere bekannte Formulierungen des FMS-Werkzeugbeladungsproblems berücksichtigen die variablen Kosten, die jeder Operation zugeordnet sind. Im Gegensatz dazu weist das Zuweisungsproblem der vorliegenden Erfindung nicht nur variable Verarbeitungskosten pro Operation auf, sondern auch einen Zeiteinstellungsaufwand pro Auftrag, wenn beliebige Operationen eines gegebenen Auftrags auf einer speziellen Maschine durchgeführt werden. Dieser Einstellungsaufwand tritt aufgrund der speziellen Technologie, die betrachtet wird, auf, wie nachfolgend beschrieben wird. Außerdem ist das FMS-Werkzeugbeladungsproblem ein taktisches Problem, das Ziele wie z.B. das Maximieren des Durchsatzes oder das Minimieren einer Spannenbildung (makespan) bei einem gegebenen bekannten Satz von Aufträgen, die verarbeitet werden sollen, betrifft. Unser Zuweisungsproblem ist ein Langzeit-Planungsproblem, das das Ziel hat, die erwarteten Herstellungskosten bei gegebenen Abschätzungen des erwarteten zukünftigen Bedarfs zu minimieren (oder äquivalent die mittleren, erwarteten Kosten pro erzeugter Einheit zu minimieren).
  • Das Problem, das durch die vorliegende Erfindung gelöst wird, entstand aus den herkömmlichen Operationen beim Zusammenbau gedruckter Schaltungsplatinen (PC-Platinen), bei denen eine Einheit eine Anzahl unterschiedlicher PC-Platinen durch das Einfügen der entsprechenden Komponenten zusammensetzt. Der Prozeß ist nicht vollständig automatisiert, da ein breites Gemisch von Platinen hergestellt wird, und das Herstellungsvolumen eine Automatisierung nicht rechtfertigt. Das Einfügen von Komponenten bei dieser Hand-Beladungszelle kann entweder manuell oder durch eine halbautomatisierte Maschine durchgeführt werden. Bekannte Techniken lösten das Montageproblem bei diesem Typ einer PC-Platinen-Herstellungslinie nicht adäquat.
  • Eine Aufgabe der Erfindung besteht darin, ein Verfahren zum Optimieren von Operationszuweisungen bei der Herstellung gedruckter Schaltungsplatinen, die Komponenten enthält, die entweder manuell oder mittels einer Maschine auf der Platine eingefügt werden können. Eine verwandte Aufgabe besteht darin, eine optimale Zuweisung von Komponenten ("Operationen") zu einem Satz von kapazitiven Maschinen zu bestimmen, um die Gesamt-Einstellungs- und -Verarbeitungs-Kosten für das Zusammensetzen aller Platinen mit der Möglichkeit, daß bestimmte verbleibende Komponenten manuell eingefügt werden, zu minimieren.
  • Eine weitere Aufgabe besteht darin, sich auf ein Operationszuweisungsproblem zu konzentrieren, um eine Zuweisung von Operationen zu einem Satz von kapazitiven Maschinen zu bestimmen, um den Gesamt-Einstellungs- und -Verarbeitungs-Aufwand zu minimieren. Da dieser Aufwand in Form von Zeiteinheiten, die für die Einstellung und die Verarbeitung erforderlich sind, ausgedrückt wird, besteht eine verwandte Aufgabe darin, die mittlere Zeit, die erforderlich ist, um jede PC-Platine herzustellen, zu minimieren.
  • Obwohl das Problem als ein gemischtes, lineares Integer-Programm (ILP; ILP = integer linear program) formuliert werden kann, ist es zu groß, um praktisch gelöst zu werden. Folglich liefert die Erfindung in dem Fall einer einzelnen Maschine vorzugsweise eine Lösung, die zwei unterschiedliche Montagemodelle einschließt, die unter bestimmten Umständen im Einzelfall willkürlich schlecht sein können, die jedoch im Mittel zufriedenstellende Ergebnisse erzeugen.
  • Gemäß der vorliegenden Erfindung wird ein Verfahren des Zusammenbauens einer Mehrzahl von Schaltungsplatinen gemäß Anspruch 1 geschaffen. Anspruch 2 definiert ein spezielles Ausführungsbeispiel der Erfindung.
  • Bevorzugte Ausführungsbeispiele der vorliegenden Erfindung werden nachfolgend nur beispielsweise bezugnehmend auf die beiliegenden Zeichnungen beschrieben. Es zeigen:
  • Fig. 1 eine grafische Darstellung tatsächlicher Daten für eine beispielhafte PC-Platinen-Montagelinie;
  • Fig. 2 eine andere grafische Darstellung der beispielhaften PC-Platinen-Montagelinie von Fig. 1, die Komponenten zeigt, die bei Platinen üblich sind;
  • Fig. 3 eine Anwendung des Platinen-Bedarfsalgorithmusses (Greedy Board algorithm) für eine exemplarische Kombination von Komponenten und Platinen; die Anzahl von verfügbaren Schlitzen ist vier, die Platinen-Bedarfslösung lautet:
  • Platinen 1, 2, 3 per Maschine;
  • Gesamtaufwand - 3s&sub1; + 4s&sub2; + 18c
  • und die Optimallösung lautet:
  • Platinen 4, 5, 6, 7 per Maschine;
  • Gesamtaufwand - 4s&sub1; + 3s&sub2; + 18c
  • Fig. 4 eine Anwendung des Komponenten-Sparalgorithmusses (Stingy Component algorithm) für eine weitere exemplarische Kombination von Komponenten und Platinen; dieselbe zeigt das Beispiel des schlimmsten Falls für die Komponenten-Sparheuristik; die Komponenten-Sparlösung lautet:
  • Platine N&sub1; + 1 per Maschine;
  • alle anderen per Hand;
  • Aufwand - v[2s&sub1; + 2N&sub1;c&sub1; + N&sub1;s&sub2; + N&sub1;c&sub2;]
  • die Optimallösung lautet:
  • Platinen 1, ..., N&sub1; per Maschine;
  • Platine N&sub1; + 1 per Hand;
  • Aufwand - v[N&sub1;s&sub1; + N&sub1;c&sub1; + 2s&sub2; + 2N&sub1;c&sub2;]
  • Fig. 5 eine Anwendung des Platinen-Bedarfsalgorithmusses für eine weitere Kombination von Komponenten und Platinen; dieselbe zeigt den schlimmsten Fall für die Platinen-Bedarfsheuristik;
  • Platinen-Bedarfslösung
  • Platinen 1, ..., N&sub1; per Maschine; alle anderen per Hand Aufwand
  • Optimallösung
  • Platinen 1, ..., N&sub1; per Hand; alle anderen per Maschine Aufwand Jmax
  • Fig. 6 ein Hochpegel-Flußdiagramm eines Ausführungsbeispiels der Erfindung;
  • Fig. 7 ein Flußdiagramm, das den Komponenten-Sparalgorithmus, der auf einen Einzelmaschinenzusammenbau angewendet ist, zeigt; man beginnt mit der Minimalaufwandslösung (alle per Maschine) und bewahrt das Entfernen von Komponenten in einer Spar-Form;
  • Fig. 8 ein Flußdiagramm, das den Platinen-Bedarfsalgorithmus, der auf einen Einzelmaschinenzusammenbau angewendet ist, zeigt; man beginnt mit der aufwendigsten Lösung (alle per Hand) und bewegt die Platine (Sätze von Komponenten) bedarfsmäßig zu der Maschine; und
  • Fig. 9 ein Flußdiagramm, das den Komponenten-Sparalgorithmus, der auf einen Mehrmaschinenzusammenbau angewendet ist, zeigt.
  • Es existieren viele herkömmliche PC-Platinen-Zusammenbauoperationen, die optimiert werden können. Beispielsweise arbeitet ein manueller Einfügungsprozeß wie folgt: die Platine wird auf einer Ablage eingestellt, der Bediener lokalisiert die Zusammenbauinstruktionen für diese spezielle Platine in einem Befehlshandbuch und befolgt nachfolgend die Zusammenbaubefehle, wobei er einzelne Komponenten aus beschrifteten Behältern erhält, die sich in dem Zusammenbaubereich befinden, und wobei er dieselben manuell auf der Platine einfügt. Für den halbautomatischen Einfügungsprozeß wird die Platine auf einer Ablage auf einer halbautomatisierten Komponenteneinfügungsmaschine eingestellt, wobei der Bediener die Platinen-Identifikationsnummer in den Computer, der die Maschine steuert, eingibt. Danach identifiziert die Maschine aus einem Satz von internen Komponentenbehältern den Behälter, der das erste Teil, das benötigt wird, enthält, öffnet den Behälter, und bewegt denselben auf die Platine, auf der diese Komponente eingefügt werden soll. Der Bediener entfernt eine Komponente aus dem geöffneten Behälter, fügt dieselbe auf der Platine ein und drückt einen Schalter, was anzeigt, daß nun eine weitere Komponente benötigt wird. Die Maschine schließt und entfernt danach den Behälter, zieht den Behälter, der die nächste Komponente, die erforderlich ist, enthält, vor, wobei sich der Prozeß in gleicher Weise fortsetzt, bis alle Komponenten eingefügt wurden. Es sei bemerkt, daß keine Einstellungssicherungen existieren, die der sequentiellen Herstellung von zwei Platinen des gleichen Typs zugeordnet sind; jede Platine erfordert bei jedem Prozeß, in dem dieselbe einer Komponenteneinfügung unterzogen wird, eine Einstellung. Dies ist ein Beispiel eines Durchgangsloch-Zusammenbauprozesses.
  • Sowohl die Einstellung als auch die Verarbeitung sind auf einer Maschine schneller (d.h. billiger). Jedoch weisen die Maschinen eine begrenzte Kapazität zum Halten unterschiedlicher Komponenten auf, wobei nur eine begrenzte Anzahl der Maschinen verfügbar ist. Ferner ist es aufwendig, die Zuweisung von Komponenten zu Behältern der Maschine zu ändern: derartige Änderungen umfassen nicht nur die physikalische Ersetzung von Komponenten in den Behältern innerhalb der Maschine, sondern auch eine Umprogrammierung des Maschinencomputers. Ferner können kostspielige Reduzierungen der Platinenqualität und des Ertrags auftreten, wenn der Herstellungsprozeß geändert wird (beispielsweise wenn eine spezielle Platine nun unter Verwendung einer anderen Maschine zusammengebaut wird). Folglich muß die Komponentenzuweisung durchgeführt werden, bevor irgendwelche PC-Platinen zusammengebaut werden können, und kann während des gesamten Zusammenbauprozesses aller Platinen nicht geändert werden. Es ist nicht möglich, einen Satz von Komponenten in der Maschine zu ändern, bis alle Platinen vollständig zusammengebaut wurden. Bei einer typischen Situation wird eine Einmal-Werkzeugbestückung von Maschinen (d.h. die Zuweisung von Komponenten zu Behältern) für das nächste Jahr oder das nächste halbe Jahr basierend auf dem jährlichen oder halbjährlichen erwarteten Bedarf (hoher Abschätzungen des) für unterschiedliche Typen von Platinen bestimmt. Am Ende dieser Zeitperiode werden neue Bedarfsabschätzungen erzeugt und die Maschinen können neu bestückt werden.
  • Wie es bei PC-Platinen-Zusammenbauoperationen typisch ist, muß eine große Anzahl unterschiedlicher PC-Platinen, die aus einer noch größeren Anzahl von Komponenten zusammengesetzt werden, hergestellt werden. Beispielsweise werden bei einem typischen Herstellungsprozeß beinahe 500 Typen von PC-Platinen aus etwa 4.000 unterschiedlichen Teilen hergestellt. Ein weiteres interessierendes Merkmal ist, daß einige Komponenten viel häufiger verwendet werden, als andere. Fig. 1 zeigt eine tatsächliche, kumulative Komponentenbenutzung als einen Prozentsatz der Gesamtbenutzung für eine Probe von 30 Platinen, die aus über 300 Komponenten zusammengebaut sind.
  • Schließlich existiert ein geringer, aber nicht unwesentlicher Pegel einer Komponentengemeinsamkeit zwischen Platinen.
  • Fig. 2 zeigt eine tatsächliche Verteilung der Anzahl unterschiedlicher Platinen, wobei diese Komponenten für eine repräsentative Probe von 58 Platinen und 180 Komponenten verwendet sind. In diesem Fall werden näherungsweise 35% der Komponenten in mehr als einer Platine verwendet, wobei 5% der Komponenten in 5 oder mehr Platinen verwendet werden. Diese geringe Gemeinsamkeit von Komponenten tritt teilweise aufgrund der langen Produktlebensdauern vieler dieser Produkte, die die PC-Platinen verwenden, auf.
  • Das Problem, das wir betrachten, besteht in dem Bestimmen dessen, welche Komponenten (Operationen) jedem Prozeß (dies kann eine beliebige der Maschinen oder der manuelle Zusammenbauprozeß sein) zuzuweisen sind, um den Gesamt-Einstellungs- und -Verarbeitungs-Aufwand für den Zusammenbau aller Platinen zu minimieren. Wenn Komponenten für irgendeine spezielle Platine nicht alle dem gleichen Prozeß zugewiesen sind (d.h. der gleichen Maschine oder dem manuellen Zusammenbauprozeß), muß die Platine mehr als eine Einstellung durchführen (wir nehmen jedoch an, daß die Reihenfolge der Komponenteneinfügung keine Rolle spielt, so daß bestenfalls eine Einstellung pro Prozeß für eine beliebige Platine erforderlich ist). Um mehrere Einstellungen zu verhindern, ist es möglich, die gleiche Komponente unterschiedlichen Prozessen zuzuweisen. Das Problem ist auch eines des Bestimmens des Entwurfs der unterschiedlichen Maschinen - d.h. des Bestimmens des Ausmaßes, mit dem der Zusammenbau in parallelen gegen seriellen Prozessen durchgeführt werden sollte. Es sei bemerkt, daß wir ein Langzeit-Planungsproblem unter Verwendung von Abschätzungen des erwarteten, zukünftigen Bedarfs für die nächsten sechs bis zwölf Monate lösen, so daß eine Stapelverarbeitung und Sequenzierung keine Punkte von Belang sind.
  • Tatsächlich besteht das Ziel darin, eine Betriebsverfahrensweise zu bilden (d.h. Flüsse von Platinentypen zwischen Maschinen zu bestimmen), die eine Basis für eine taktische Ausführung liefert. Die wöchentliche Planung kann die Untervergabe von Arbeit in Perioden eines hohen Bedarfs und Bediener-Schulungsklassen in Perioden eines geringen Bedarfs einschließen. In jedem Fall stellen, sobald die Kapazität und die Leute positioniert wurden (wir nehmen an, daß dies bereits stattgefunden hat), dieselben einen großen festen Aufwand dar, so daß ein Entwurf benötigt wird, der eine effiziente taktische Ausführung ermöglicht.
  • Das Ziel des Minimierens der mittleren, erwarteten Kosten pro hergestellter Platine spiegelt die tatsächliche Herstellungsplaung wider und ist für ein Langzeit-Planungsproblem des Typs, den wir betrachten, geeignet. Da wir ein Langzeit-Planungsproblem (unter Verwendung eines abgeschätzten zukünftigen Bedarfs) lösen, ist es vernünftig, die Minimierung des mittleren Aufwands pro hergestellter Platine zu betrachten, und nicht Maßnahmen, beispielsweise die Minimierung einer Spannenbildung und die Durchsatzmaximierung, die für ein Problem mit einem kürzeren Horizont und bekannten Bedarfsanforderungen anwendbar sein können. Es sei bemerkt, daß der Aufwand in Form von Zeiteinheiten, die für jede Operation erforderlich sind, ausgedrückt wird: da parallele Maschinen, die gleichzeitig arbeiten, existieren können, ist das Ziel in diesem Fall nicht äquivalent zum Minimieren der Spannenbildung, sondern ist vielmehr äquivalent zur der Minimierung der mittleren Zeit, die erforderlich ist, um eine Platine herzustellen (wird nehmen an, daß alle Platinen in der verfügbaren Zeit verarbeitet werden können; andernfalls weist das Problem keine durchführbare Lösung auf).
  • Bei unserem Modell werden Operationszuweisungen unter Verwendung fester Abschätzungen des zukünftigen Bedarfs bestimmt. Eine natürliche Erweiterung besteht darin, Unbestimmtheiten in diesen Bedarfsabschätzungen zu betrachten. In diesem Fall möchte man nur Zuweisungspläne erzeugen, die bezüglich möglicher, zukünftiger Änderungen des Bedarfs robust sind. Derartige Zuweisungspläne würden unter einem Bereich von Annahmen über Pegel des zukünftigen Bedarfs für unterschiedliche Produkte einen geringen Aufwand ergeben.
  • In dem folgenden Abschnitt definieren wir das Problem formal als ein gemischtes Integer-Programm. Wir erläutern Lösungsansätze zum Finden einer exakten Lösung. Bei vielen praktischen Anwendungen kann ein realistisches Problem jedoch zu groß sein, um exakt gelöst zu werden. Ferner wünschten Verfahrensingenieure bei einem bevorzugten Ausführungsbeispiel eine Lösungsmethodik, die auf einem Tischcomputer und nicht einem Großrechner implementiert sein könnte. Folglich entwickeln wir Heuristiken für das Problem. Anfänglich spezialisierten wir unsere Analyse auf den Fall einer Maschine. Wir präsentieren zwei unterschiedliche Heuristiken. Wir charakterisieren Bedingungen, unter denen die Algorithmen eine optimale Lösung erzeugen, präsentieren Beispiele des schlimmsten Falls, und präsentieren Rechenergebnisse für einen zufällig erzeugten Satz von Problemen. Wir zeigen, daß, obwohl jeder Algorithmus willkürlich schlecht sein kann, die Algorithmen für typische Probleme gut arbeiten. Danach betrachten wir den allgemeineren Fall mehrerer Maschinen. Wir entwickeln vier unterschiedliche Heuristiken und präsentieren Rechenerfahrung. Schließlich werden wir die Implementierung unserer Ergebnisse in einer tatsächlichen Montagelinie erläutern.
  • Problemformulierung
  • Es sei i ein Index für die Prozesse (1, 2, 3, ..., I-1 = Maschine; I = manuell), j sei ein Index für die Komponenten (j = 1, ..., J) und k sei ein Index für die Platinentypen (k = 1, ..., K). Unser Ziel besteht darin, optimale Werte zu bestimmen für:
  • xijk = Zuweisung der Komponente j für eine Platine des Typs k zu dem Prozeß i, wobei xijk = 1, wenn die Zuweisung gemacht ist; sonst 0
  • Wir definieren ferner folgende Hilfsvariablen (dummy variables):
  • yik = 1, wenn die Platine des Typs k für irgendwelche Einfügungen bei dem Prozeß i eingestellt ist; sonst 0
  • zij = 1, wenn die Komponente j dem Prozeß i zugewiesen ist; sonst 0
  • Herstellungsanforderungen sind:
  • dk = Gesamtbedarf für die Platine des Typs k während der (festen) Zeitperiode
  • rjk = 1, wenn die Komponente j in der Platine des Typs k verwendet ist; sonst 0
  • njk = Nummer der Komponente j, die in einer des Platinentyps k verwendet ist
  • Unter Verwendung des obigen definieren wir:
  • vjk = dkrjknjk = Gesamtvolumen der Komponente j, die für Platinen des Typs k während der Zeitperiode verwendet ist
  • Der maschinelle Einstellungs- und Verarbeitungs-Aufwand ist für alle Platinen und Komponenten der gleiche:
  • si = Einstellungsaufwand für eine Einstellung einer Platine bei dem Prozeß i
  • ci = Verarbeitungsaufwand für eine Einfügung durch den Prozeß i
  • Schließlich sind Maschinenbegrenzungen gegeben durch:
  • Ni = Gesamtzahl von Typen von Komponenten, die dem Prozeß i zugewiesen werden können
  • Bei diesen Definitionen kann das Problem wie folgt ausgedrückt werden:
  • Das Ziel (1) besteht darin, den Gesamtverarbeitungs- plus Einstellungs-Aufwand zu minimieren. Die Beschränkung (2) stellt sicher, daß alle notwendigen Komponenten einem Prozeß zugewiesen werden; wenn irgendeine Komponente für eine Platine des Typs k einem Prozeß zugewiesen wird, (3) setzt die Anzeigervariable yik auf 1, so daß eine Einstellung geladen wird. Die Beschränkungen (4) und (5) drücken die obere Grenze für die Anzahl von unterschiedlichen Typen von Komponenten, die einem beliebigen Prozeß zugewiesen werden können, aus. Es sei angenommen, daß der manuelle Prozeß NI = J aufweist, und somit nicht in (5) enthalten ist. Wir bemerken, daß unter Voraussetzung von (6) eine Integralitätsbeschränkung für die xijk's nicht notwendig ist; das obige gemischte, lineare Integer-Programm (ILP) wird für alle i, j, k stets xijk = 0 oder 1 ergeben. In gleicher Weise müssen wir keine Integralitätsbeschränkung für die zij's (die Hilfsvariablen sind) spezifizieren: Wenn alle Behälter des Prozesses i bei der Aufwandsminimierungslösung verwendet sind, werden die zij's alle für diesen Prozeß einen binären ganzzahligen Wert aufweisen. Wenn nicht alle Behälter verwendet sind, ist die optimale Lösung entartet, und die zij's weisen möglicherweise keinen binären ganzzahligen Wert auf; jedoch wird dies die optimale Lösung (spezifiziert durch die yik's und xijk's) nicht beeinträchtigen. Das Problem ist folglich eines von binären ganzzahligen I K-Variablen und linearen I J (K+1)-Variablen.
  • Es sei bemerkt, daß die obige Formulierung die Zuweisung eines einzelnen Komponententyps zu mehr als einem Prozeß ermöglicht. (Die einzige Beschränkung für die Zuweisung von Komponenten zu Prozessen (die zij's) besteht darin, daß die Anzahl von unterschiedlichen Komponenten, die einem beliebigen Prozeß zugewiesen sind, die Kapazität des Prozesses nicht übersteigen kann). Wenn die Einstellungszeiten relativ zu den Verarbeitungszeiten hoch sind (so daß es aufwendig ist, eine Platine unter Verwendung von mehr als einem Prozeß herzustellen), und alle Platinen, die eine spezielle Komponente mit hohem Volumen verwenden, nicht vollständig auf irgendeiner Maschine zusammengebaut werden können, da ihre kombinierte Anforderung nach Komponententypen größer ist als die Anzahl von verfügbaren Komponentenschlitzen, kann es optimal sein, die Komponente mehr als einem Prozeß zuzuweisen.
  • Ein Lösungsansatz für dieses Problem besteht darin, ein Verzweigen und Begrenzen (branch and bound) zu verwenden, ein Verzweigen auf Komponentenzuweisungen (d.h. zij = 0 oder 1 einstellen), und ein Begrenzen durch das Lösen eines gelockerten linearen Programms (Wegwerfen der Integralitätsbeschränkung für die yik's). Eine wirksame Möglichkeit, um den Verzweigungsprozeß durchzuführen, kann darin bestehen, zuerst auf den am häufigsten verwendeten Komponenten zu verzweigen (d.h. denjenigen mit dem höchsten Wert von
  • da diese Komponenten die größte Wirkung auf den Gesamtaufwand besitzen. Wir müssen nicht explizit spezifizieren, ob eine Komponente dem manuellen Prozeß zugewiesen ist oder nicht: da angenommen ist, daß der manuelle Prozeß nicht kapazitiv ist, werden Komponenten diesem Prozeß durch das lineare Programm (LP) automatisch zugewiesen, wenn es notwendig oder wünschenswert ist. Eine gute anfängliche obere Grenze kann unter Verwendung der Heuristiken, die in den Abschnitten 3 und 4 präsentiert werden, erhalten werden.
  • Die Schwierigkeit beim exakten Lösen des Integer-Programms für ein realistisches Problem ist die große Problemgröße. Beispielsweise kann ein mittelgroßes Zweiprozeß-Zuweisungsproblem (mit einer Maschine plus dem manuellen Prozeß) 200 Platinen und 600 Komponenten einschließen - was zu 12.000 binären Integer-Variablen und über 2 Millionen linearen Variablen führt. Selbst ohne Integer-Beschränkungen ist ein derartiges Problem zu groß, um unter Verwendung von gegenwärtigen LP-Codes gelöst zu werden. Ferner wünschten bei unseren experimentellen Anwendungen die Verfahrensingenieure eine Lösungsmethodik, die auf einem Tischrechner und nicht einem Großrechner implementiert sein kann. Folglich entwickeln wir nun heuristische Möglichkeiten, um das Problem zu lösen. Wir betrachten zuerst den Fall einer Maschine und dann den Fall mehrerer Maschinen.
  • Einzelmaschinenproblem
  • In diesem Abschnitt spezialisieren wir unsere Erörterung auf den Fall einer Maschine. Es stelle i = 1 die Maschine und i = 2 den manuellen Prozeß dar. Das Problem reduziert sich dann auf ein solches des Bestimmens, welche Komponenten der Maschine (zij) zuzuweisen sind: Sobald die Maschinenbehälter gefüllt wurden, werden alle nicht zugewiesenen Komponenten dem manuellen Prozeß zugewiesen. Zusätzlich können bestimmte Komponenten, die der Maschine zugewiesen sind, ebenfalls dem manuellen Prozeß zugewiesen werden. Bei den gegebenen Komponentenzuweisungen kann die Aufwandsminimierungslösung für jede Platine (die xijk's und die entsprechenden yik's) einzeln bestimmt werden.
  • Obwohl ein Problem einer realistischen Größe zu groß ist, um praktisch durch ein exaktes Lösungsverfahren gelöst zu werden, ermöglichen uns bestimmte spezielle Charakteristika des Problems, exzellente, nahezu optimale Lösungsansätze aufzubauen. Erstens werden einige Komponenten viel häufiger verwendet als andere, und einige Platinen werden viel häufiger zusammengebaut als andere (die Daten in Fig. 1 verifizieren, daß sowohl die Komponenten- als auch die Platinen-Verwendungen der gut bekannten ''80/20"-Regel folgen). Da sowohl die Einstellung als auch die Einfügung mittels einer Maschine billiger als mittels des manuellen Prozesses sind, würden wir erwarten, daß die optimale Lösung viele (oder alle) der häufig verwendeten Komponenten und/oder Platinen einer Maschine zuweisen würde. Wir beobachten ferner, daß mit Ausnahme bestimmter, häufig verwendeter Komponenten die Platinen nicht dazu tendieren, eine große Komponentengemeinsamkeit aufzuweisen. Dies motiviert uns, zwei unterschiedliche Lösungsheuristiken basierend auf einem "Bedarfs"-Lösungsansatz aufzubauen, von denen einer einzelne Komponenten zuweist und der andere ganze Platinen zuweist.
  • Unser erster Lösungsansatz, den wir als den "Komponentenspar"-Algorithmus bezeichnen, beginnt durch das Zuweisen aller Komponenten zu der Maschine (wodurch die Maschinenkapazitätsbeschränkung überschritten wird) und das nachfolgende Entfernen von Komponenten, die die kleinste Aufwandszunahme bewirken, bis die Kapazitätsbeschränkung der Maschine erfüllt ist. Alle Komponenten, die nicht der Maschine zugewiesen sind, werden dem manuellen Prozeß zugewiesen.
  • Die Idee hinter diesem Lösungsansatz besteht darin, daß viele der weniger häufig verwendeten Komponenten bei einer Kostenminimierungslösung niemals der Maschine zugeordnet werden, wobei man in gleicher Weise erwarten würde, daß die am häufigsten verwendeten Komponenten stets der Maschine zugewiesen werden. Da sich der "Spar"-Lösungsansatz ("stingy" approach) auf das Zuweisen einzelner Komponenten und nicht ganzer Platinen konzentriert, würden wir erwarten, daß der Algorithmus gut arbeitet, wenn der Einstellungsaufwand gering ist. Tatsächlich erzeugt der Sparalgorithmus stets die optimale Problemlösung, wenn der Einstellungsaufwand Null ist, da in diesem Fall jede Komponente einzeln betrachtet werden kann.
  • Es stelle i = 1 die Maschine und i = 2 den manuellen Prozeß dar. Es folgt:
  • "Komponentenspar"-Algorithmus
  • 1. Initialisierung: Es sei S = {1, ..., J}. Es sei δk = 1 für alle k, und
  • Wenn S ≤ N&sub1;, STOP.
  • 2. ''Spar"-Komponentenbeseitigung:
  • Berechne
  • Finde 1 = arg min [Δj].
  • jεS
  • Es sei S = S-l, J = J+..l, und für k s.t. δkrlk = 1, setze δk = 0.
  • 3. Nachverarbeitung: Wenn S > N&sub1;, springe zu Schritt 2 zurück. Sonst
  • Für alle j S: setze x2jk =rjk, x1jk = 0, für alle k.
  • (ii) Für alle k s.t. δk = 1: setze y1k = 1, y2k = 0, und x2jk = 0, x1jk = rjk für alle j.
  • (iii) Für alle k s.t. δk = 0: setze y2k = 1, und wenn
  • sonst setze y1k = 1, und x1jk = rjk, x2jk = 0 k ε s.
  • Stop.
  • Der Schritt 1 weist alle Komponenten der Maschine zu. Im Schritt 2 wird der inkrementale Aufwand des Beseitigens jeder Komponente von der Maschine (Δj) berechnet; dieser besteht aus dem inkrementalen variablen Verarbeitungsaufwand pro Einheit (c&sub2;-c&sub1;) mal dem bewirkten Gesamtvolumen
  • plus dem inkrementalen, manuellen Einstellungsaufwand für alle Platinen, die diese Komponente verwenden, die noch keinem manuellen Einstellungsaufwand unterliegen (d.h. denjenigen Platinen, für die bei diesem Schritt δk = 1). Die Komponente, die den minimalen inkrementalen Aufwand hinzufügt, wird beseitigt, und die Zielfunktion, die Einstellungsanzeiger (δk) und der Aufwand wird aktualisiert. Das Beseitigungsverfahren setzt sich fort, bis die Behälterkapazität der Maschine exakt erfüllt ist. Der Schritt 3 ist ein Nachverarbeitungsschritt, der die Entscheidungsvariablen einstellt. Alle Platinen, die keiner manuellen Einstellung (δk = 1) unterliegen, werden vollständig durch die Maschine verarbeitet. Für diejenigen Platinen, die einer manuellen Einstellung (δk = 0) unterliegen, wird eine Entscheidung bezüglich dessen getroffen, ob die Platine vollständig mittels des manuellen Prozesses verarbeitet wird oder nicht; wenn es billiger ist, dies zu tun, werden die Entscheidungsvariablen eingestellt und die Zielfunktion wird aktualisiert.
  • Wir beobachten, daß jedesmal, wenn der Schritt 2 erreicht wird, höchstens J Summen berechnet werden und eine Sortierung durchgeführt wird, was jedesmal zu einem Maximum von J²log(J) Berechnungen führt. Der Schritt 2 wird J-N&sub1; mal erreicht, so daß eine obere Grenze für die Rechenkomplexität für den Komponenten-Sparalgorithmus J³log(J) Schritte ist.
  • Ein bevorzugtes Ausführungsbeispiel der vorliegenden Erfindung weist zusätzlich einen zweiten Lösungsansatz auf, den wir als den ''Platinenbedarfs"-Algorithmus (''Greedy Board" algorithm) bezeichnen, der durch das Zuweisen aller Platinen zu dem manuellen Prozeß beginnt, und danach ganze Platinen der Maschine zuweist, Stück für Stück, um inkrementale Platinen, die durch inkrementale, verwendete Komponentenbehälter hergestellt werden, zu maximieren. Im Gegensatz zu dem Komponentenspar-Algorithmus konzentriert sich der Platinenbedarfs-Algorithmus auf ganze Platinen. Die Ideen, die zu diesem Lösungsansatz führen, sind: (a) aufgrund des erwarteten geringen Pegels einer Komponentengemeinsamkeit kann es besser sein, Platinen gesamt den Maschinen oder dem manuellen Prozeß zuzuweisen und dieselben nicht aufzuspalten; und (b) die Berücksichtigung einer existierenden Komponentengemeinsamkeit kann aufwandssparende Kombinationen der Platinen, die der Maschine zugewiesen sind, ergeben.
  • Der Algorithmus kann formal wie folgt dargelegt werden:
  • "Platinenbedarfs"-Algorithmus
  • 1. Initialisierung: Es sei S = φ, T = {1, ..., K}, und
  • 2. "Bedarfs"-Platinenbeladung:
  • 3. Nachverarbeitung: Wenn T ≠ φ, kehre zu Schritt 2 zurück. Sonst
  • Stop.
  • Der Schritt 1 weist alle Platinen dem manuellen Prozeß zu. Im Schritt 2 wird die inkrementale Anzahl von neuen Komponentenschlitzen pro hergestellter Platine (γk) für jeden Platinentyp, dessen inkrementale Zuweisung zu der Maschine die Schlitzkapazitätsbeschränkung (die durch kεT dargestellt ist) nicht verletzen wird, berechnet, und der Platinentyp mit dem minimalen Wert wird der Maschine zugewiesen. (Dies ist äquivalent zum "bedarfsmäßigen" ("greedy") Maximieren inkrementaler Platinen, die pro zusätzlichem verwendeten Schlitz hergestellt werden.) Der Prozeß setzt sich fort, bis keine weiteren (ganzen) Platinen der Maschine zugewiesen werden können. Der Schritt 3, der Nachverarbeitungsschritt, ist ähnlich dem für die Komponentenspar-Heuristik (wobei in diesem Fall für Platinen, die einer manuellen Einstellung (d.h. kεT) unterliegen, eine Entscheidung bezüglich dessen getroffen, ob einige der Komponenten auf der Maschine verarbeitet werden sollen).
  • Für den Platinenbedarfs-Algorithmus werden jedesmal, wenn der Schritt 2 erreicht wird, höchstens K Summen und eine Sortierung über K durchgeführt, was zu K²log(K) Berechnungen führt. Der Schritt 2 wird höchstens K mal erreicht, so daß eine obere Grenze für die erforderliche Berechnung K³log(K)-Schritte ist. Da K≤J ist, und bei einem typischen Problem K«J gilt, wird der Platinenbedarfsalgorithmus typischerweise weniger Berechnung erfordern als der Komponentenspar-Algorithmus.
  • Wir beobachten, daß, wenn über Platinen keine Komponentengemeinsamkeit existiert, und wenn der Platinenbedarfs-Algorithmus die Komponentenschlitze in der Maschine exakt füllen kann, der Algorithmus stets die optimale Lösung ergibt. In diesem Fall ist der Algorithmus dem Hohes-Verhältnis-Zuerst-Algorithmus (High Ratio First algorithm) für das 0-1- Rucksack-Problem sehr ähnlich - einer Bedarfsheuristik, die sequentiell Gegenstände basierend auf ihrem Wert-zu-Gewicht-Verhältnis zu dem Rucksack hinzufügt; diese Heuristik liefert eine optimale Lösung, wenn der Rucksack exakt gefüllt werden kann. Wir könnten auch erwarten, daß der Platinenbedarfs-Algorithmus gut arbeitet, wenn der Verarbeitungsaufwand bei den zwei Prozessen ähnlich ist, da in diesem Fall durch das Aufspalten von Platinen keine Aufwandseinsparungen erreicht werden können. Selbst wenn der manuelle und der maschinelle Verarbeitungsaufwand identisch sind und der Platinenbedarfs-Algorithmus alle Maschinenschlitze verwendet, kann der Algorithmus nicht die Optimal lösung ergeben, da der Algorithmus eine Komponentengemeinsamkeit nur kurzsichtig berücksichtigt. Die optimale Lösung unter diesen Umständen ist eine solche, die das Volumen der Platinen, die der Maschine zugewiesen sind, maximiert. Der Platinenbedarfs-Algorithmus wird nicht notwendigerweise diese Lösung ergeben. Ein Beispiel ist in Fig. 3 gezeigt.
  • Wir untersuchen nun das Verhalten der zwei Algorithmen. Wir zeigen, daß, obwohl das Verhalten jeder Heuristik im schlechtesten Fall willkürlich schlecht sein kann, im Mittel jeder über eine große Stichprobe von zufällig erzeugten Problemen ziemlich gut arbeitet.
  • Da unser Problem ein Miniaturisierungsproblem ist, verwenden wir das Leistungsverhältnis im schlimmsten Fall R = [JH-J*]/ [Jmax-J*]; hierbei stellt JH den Aufwand des heuristischen Lösungsansatzes dar, J* die optimale Lösung und Jmax eine obere Grenze für den maximalen Zielfunktionswert. Je näher das Verhältnis an 1 ist, desto schlechter ist das Verhalten der Heuristik. Für eine obere Grenze verwenden wir Jmax =
  • dies entspricht dem Zusammenbauen aller Platinen mittels des manuellen Prozesses.
  • Aussage 1:
  • Die Komponentenspar-Heuristik kann eine willkürlich schlechte Lösung erzeugen.
  • Beweis:
  • Betrachte das Beispiel, das in Fig. 4 gezeigt ist. Für die Komponentenspar-Heuristik gilt: JH = v[2s&sub1;+2N&sub1;c&sub1;+ N&sub1;s&sub2;+N&sub1;c&sub2;] während J* = v[N&sub1;s&sub1;+N&sub1;c&sub1;+2s&sub2;+2N&sub1;c&sub2;). Die obere Grenze ist Jmax = v[(N&sub1;+2)s&sub2;+(3N&sub1;)c&sub2;]. Folglich
  • Wenn N&sub1; ausreichend groß wird, nähert sich dieser Ausdruck
  • 1+[-2(c&sub2;-c&sub1;)]/[(s&sub2;-s&sub1;)+(c&sub2;-c&sub1;)]
  • und für Werte von (c&sub2;-c&sub1;) ausreichend nahe bei 0 gilt R T 1.
  • Wir können in gleicher Weise durch ein Beispiel zeigen, daß die Platinenbedarfs-Heuristik willkürlich schlechte Lösungen erzeugen kann.
  • Aussage 2:
  • Die Platinenbedarfs-Heuristik kann eine willkürlich schlechte Lösung erzeugen, selbst wenn sie alle Schlitze in der Maschine verwendet.
  • Beweis:
  • Es sei das Beispiel, das in Fig. 5 gezeigt ist, betrachtet. Es gibt 2N&sub1; Komponenten. Die ersten N&sub1; Komponenten verwenden jeweils eine Komponente 1, ..., N&sub1;. Die übrigen Platinen verwenden jeweils eine der ersten N&sub1; Komponenten, plus zwei oder mehr der Komponenten N&sub1;+1, ..., 2N&sub1;. Alle derartigen, möglichen Kombinationen sind eingeschlossen; somit ist beispielsweise die Anzahl unterschiedlicher Platinen, die zwei der Komponenten N&sub1;+1, ..., 2N&sub1; verwenden (plus eine der Komponenten 1, ..., N&sub1;),
  • (N&sub1;). Die Platinenbedarfs-Heuristik verwendet alle Schlitze in der Maschine (wie die optimale Lösung). Für dieses Beispiel,
  • Wenn N&sub1; groß wird, folgt offensichtlich R T 1.
  • Um das Durchschnittsverhalten zu würdigen, wurden die zwei Algorithmen auf einem Satz von Problemfällen getestet, die zufällig aus beobachteten Verteilungen des Platinenvolumens und der Komponentenhäufigkeit und der Gemeinsamkeit bei dem Zusammenbauverfahren erzeugt wurden. Der verwendete Einstellungs- und Verarbeitungs-Aufwand spiegelt den relativen tatsächlichen Aufwand wider und ist proportional zu der Zeit, die für jede Operation erforderlich ist. Für jedes Problem wurde die wahrhaft optimale Lösung durch eine erschöpfende Suche bestimmt. Berechnungsergebnisse sind in Tabelle 1 gezeigt. Tabelle 1 Der Fall einer einzelnen Maschine: Berechnungsergebnisse für zufällig erzeugte Probleme
  • * Prozentabweichung von der optimalen Lösung
  • Für Probleme der Größe 10x15 (10 Platinen und 15 Komponenten) war die Spar-Heuristik etwas besser als die Bedarfs- Heuristik, mit einem mittleren Fehler von etwa 3,1%, verglichen mit 4,2% für die Bedarfs-Heuristik. Für Probleme der Größe 10x20 arbeitete die Bedarfs-Heuristik besser, mit einem mittleren Fehler von 4,2% gegenüber 4,8% für die Spar- Heuristik. Obwohl der mittlere Fehler für die Probleme großer Größe etwas zunahm, nahm interessanterweise der maximale Fehler für jede Heuristik signifikant ab.
  • Da sich die zwei Heuristiken auf unterschiedliche Aspekte des Problems konzentrieren (die Spar-Heuristik konzentriert sich auf ein einzelnes Komponentenvolumen, während sich die Bedarfs-Heuristik auf eine Komponentengemeinsamkeit zwischen Platinen konzentriert), wurde gemäß einem bevorzugten Ausführungsbeispiel der vorliegenden Erfindung eine Verbindungsheuristik unter Verwendung des Minimums der zwei Lösungen erzeugt; wobei das mittlere Verhalten der Verbindungs- Heuristik wesentlich besser war als das jedes Algorithmusses allein.
  • Das Mehrmaschinenproblem
  • Wir betrachten nun das ursprüngliche Mehrmaschinenproblem. Wir nehmen an, daß die Maschinen identisch sind, so daß si = si+1, c&sub1; = ci+1, N&sub1; = Ni+1, i = 1, ..., I-1; dies ist bei unseren Anwendungen der Fall.
  • Ein Lösungsansatz für den Mehrmaschinenfall besteht darin, unsere Einzelmaschinen-Heuristik sequentiell auf jede Maschine anzuwenden; sobald wird eine anfängliche Zuweisung von Komponenten zu Maschinen durchgeführt haben, führen wir dann wie vorher einen Nachverarbeitungsschritt durch, um zu bestimmen, ob einige Platinen billiger gemacht werden können, indem dieselben neu zugewiesen werden. Für jede der Einzelmaschinen-Heuristiken (Komponentenspar- und Platinenbedarfs-), entwickeln wir zwei unterschiedliche Mehrmaschinen-Heuristiken. Diese Heuristiken unterscheiden sich in dem Ausmaß, indem wir Bauteilzuweisungen zu mehr als einer Maschine ermöglichen: In dem ersten Fall betrachten wir, wenn eine Komponente j einer Maschine i zugewiesen ist, dann, wenn wir Komponenten der Maschine i+1 zuweisen, die Komponente j nicht länger; während wir in dem zweiten Fall eine mögliche Zuweisung der Komponente j zu der Maschine i+1 berücksichtigen. Unsere zwei Anpassungen des Spar-Algorithmusses für den Fall mehrerer Maschinen lauten wie folgt:
  • Mehrmaschinen-Komponentenspar-Algorithmus: Version 1 1. Initialisierung:
  • Es sei i = 1. Es sei SK = {1, ..., K}, SJ = {1, ..., J}.
  • 2. ''Spar"-Komponentenzuweisung:
  • Wende den Komponentenspar-Algorithmus unter Berücksichtigung des Platinensatzes SK und des Komponentensatzes SJ auf die Maschine i an.
  • 3. Aktualisieren:
  • Entferne diejenigen Platinen aus SK, die vollständig auf der Maschine i verarbeitet werden, und entferne diejenigen Komponenten aus dem Satz SJ, die der Maschine i zugewiesen sind. Es sei i = i+1. Wenn i< I, springe zu Schritt 2 zurück.
  • 4. Nachverarbeitung:
  • Es sei die Zuweisung von Komponenten zu Maschinen gegeben: für jede Platine, die nicht vollständig auf einer einzelnen Maschine verarbeitet wird, bestimme die billigste Möglichkeit, um die Platine herzustellen (d.h. aus einer Kombination von Maschinen oder von Maschinen und manuell oder nur manuell).
  • Stop.
  • Die zweite Version unseres Mehrmaschinen-Komponentenspar- Algorithmusses unterscheidet sich nur dahingehend, daß nach dem Anwenden des Einzelmaschinen-Komponentenspar-Algorithmusses wir aus der Berücksichtigung nur diejenigen Komponenten streichen, die nur Platinen zugeordnet sind, die vollständig auf der Maschine i verarbeitet werden können:
  • Mehrmaschinen-Komponentenspar-Algorithmus: Version 2 1. Initialisierung:
  • Es sei i = 1. Es sei SK = {1, ..., K}, SJ = {1, ..., J}.
  • 2. "Spar"-Komponentenzuweisung:
  • Wende den Komponentenspar-Algorithmus unter Berücksichtigung des Platinensatzes SK und des Komponentensatzes SJ auf die Maschine i an.
  • 3. Aktualisieren:
  • Entferne diejenigen Platinen aus SK, die vollständig mit der Maschine i verarbeitet werden, und entferne diejenigen Komponenten aus dem Satz SJ, die nur Platinen zugeordnet sind, die vollständig auf der Maschine i verarbeitet werden können. Es sei i = i+1. Wenn i< I, springe zu Schritt 2 zurück.
  • 4. Nachverarbeitung:
  • Bei der gegebenen Zuweisung von Komponenten zu Maschinen: für jede Platine, die nicht vollständig mittels einer einzelnen Maschine verarbeitet wird, bestimme die billigste Möglichkeit, um die Platine herzustellen (d.h. aus einer Kombination von Maschinen oder von Maschine und manuell oder nur manuell).
  • Stop.
  • Analog entwickeln wir zwei Versionen eines Mehrmaschinen- Platinenbedarfs-Algorithmusses:
  • Mehrmaschinen-Platinenbedarfs-Algorithmus: Version 1 1. Initialisierung:
  • Es sei i = 1. Es sei SK = {1, ..., K}, SJ = {1, ..., J}.
  • 2. "Bedarf"-Platinenzuweisung:
  • Wende den Platinenbedarfs- Algorithmus unter Berücksichtigung des Platinensatzes SK und des Komponentensatzes SJ auf die Maschine i an.
  • 3. Aktualisierung:
  • Entferne diejenigen Platinen aus SK, die vollständig auf der Maschine i verarbeitet werden, und entferne diejenigen Komponenten aus dem Satz SJ, die der Maschine i zugewiesen sind. Es sei i = i+1. Wenn i< I, springe zu Schritt 2 zurück.
  • 4. Nachverarbeitung:
  • Bei der gegebenen Zuweisung der Komponenten zu Maschinen: Bestimme für jede Platine, die nicht vollständig auf einer einzelnen Maschine verarbeitet wird, die billigste Möglichkeit, um die Platine herzustellen (d.h. aus einer Kombination von Maschinen oder von Maschine und manuell oder nur manuell).
  • Stop.
  • Die zweite Version lautet:
  • Mehrmaschinen-Platinenbedarfs-Algorithmus: Version 2 1. Initialisierung:
  • Es sei i = 1. Es sei SK = {1, ..., K}, SJ = {1, ..., J}.
  • 2. "Bedarf"-Platinenzuweisung:
  • Wende den Platinenbedarfs- Algorithmus unter Berücksichtigung des Platinensatzes SK und des Komponentensatzes SJ auf die Maschine i an.
  • 3. Aktualisierung:
  • Entferne diejenigen Platinen aus SK, die vollständig auf der Maschine i verarbeitet werden, und entferne diejenigen Komponenten aus dem Satz SJ, die nur Platinen zugeordnet sind, die vollständig auf de Maschine i verarbeitet werden können. Es sei i = i+1. Wenn i< I, springe zu Schritt 2 zurück.
  • 4. Nachverarbeitung:
  • Bei der gegebenen Zuweisung von Komponenten zu Maschinen: Bestimme für jede Platine, die nicht vollständig auf einer einzelnen Maschine verarbeitet wird, die billigste Möglichkeit, um die Platine herzustellen (d.h. aus einer Kombination von Maschinen oder von Maschine und manuell oder nur manuell).
  • Stop.
  • Diese Algorithmen wurden auf einem Satz von 30 Zwei-Maschinen-Problemfällen getestet, die aus beobachteten Verteilungen des Platinenvolumens und der Komponentenhäufigkeit und einer Gemeinsamkeit bei dem Zusammenbauprozeß zufällig erzeugt wurden. Der verwendete Einstellungs- und Verarbeitungs-Aufwand spiegelt den relativen tatsächlichen Aufwand wider und ist proportional zu der Zeit, die für jede Operation erforderlich ist. Die Problemfälle umfaßten jeweils 20 Platinen und 100 Komponenten, wobei 35 Komponentenschlitze auf jeder der zwei Maschinen verfügbar waren. Aufgrund der großen Problemgröße (100 Komponenten) war es nicht möglich, die wahre optimale Lösung für jedes Problem zu bestimmen, weshalb wir stattdessen als untere Grenze den Aufwand des Herstellens jeder Platine auf einer einzelnen Maschine verwendeten:
  • Die Ergebnisse sind in Tabelle 2 gezeigt. Für alle 30 Probleme waren die Platinenbedarfs-Algorithmen den Komponentenspar-Algorithmen überlegen, wobei die Version 2 des Bedarfs-Algorithmusses die besten Lösungen ergab. Die mittlere Abweichung von Jmin für die Komponentenspar-Lösungen betrug 7 bis 10%, während die mittlere Abweichung von Jmin für den Platinenbedarfs-Algorithmus 3 bis 5% betrug. Diese Prozentunterschiede sind unter Berücksichtigung der Tatsache, daß die gemessene Abweichung auf einem Vergleich mit einer nicht durchführbaren unteren Grenze basieren, ermutigend gering.
  • Wir bemerken, daß jede unserer Mehrmaschinen-Heuristiken die einzelne Spar- oder Bedarfs-Heuristik auf jede Maschine anwendet; folglich beträgt die Berechnungskomplexität der Mehrmaschinen-Sparkomponenten-Algorithmen I J³log(J), während die Berechnungskomplexität der Mehrmaschinen-Platinenbedarfs-Algorithmen I K³log(K) beträgt. Diese Unterschiede werden in der Laufzeit der Algorithmen widergespiegelt. Für die Zwei-Maschinen-Beispiele von Tabelle 2 betrug die Laufzeit unter Verwendung eines PASCAL-Programms auf einem Macintosh IIc/x im Mittel 27 Sekunden für die Komponentenspar-Algorithmen und im Mittel 3 Sekunden für die Platinenbedarfs-Algorithmen.
  • Bisher haben wir den Arbeitsbelastungsausgleich noch nicht erwähnt. Es ist möglich, daß die obigen Lösungsalgorithmen Lösungen erzeugen können, in denen einigen Maschinen ein viel größeres Herstellungsvolumen zugewiesen ist als anderen Maschinen. Wir behandeln den Gegenstand des Arbeitsbelastungsausgleichs auf die folgende Art und Weise: Wenn wir den Algorithmus ausführen, stellen wir die Anzahl von verfügbaren Schlitzen auf jeder Maschine auf eine Zahl ein, die etwas kleiner ist als die tatsächliche Anzahl von Schlitzen. (In unseren Beispielanwendungen verwendeten wir eine Anzahl, die näherungsweise 97% der tatsächlichen Schlitzkapazität war.) Danach betrachten wir auf einer speziellen Basis die mögliche Neuzuweisung von Platinen unter den Prozessen. Wir füllen die unbenutzten Schlitze mit bestimmten häufig verwendeten Komponenten, um zu ermöglichen, daß wir die Neuzuweisung durchführen. Diese Prozedur war bei unseren folgenden experimentellen Anwendungen sehr wirksam. Tabelle 2 Der Fall von zwei Maschinen: Berechnungsergebnisse für zufällig erzeugte Probleme
  • * Prozentabweichung von
  • Implementierung
  • Unsere Algorithmen wurden auf zwei unterschiedliche PC-Platinen-Herstellungsprobleme angewendet.
  • Bei beiden Anwendungen wurde der Platinenbedarfs-Lösungsansatz verwendet. Ein Grund dafür, daß dieser Lösungsansatz über den Komponentenspar-Lösungsansatz favorisiert wurde, bestand darin, daß der Einstellungsaufwand relativ zu dem Einfügungsaufwand relativ hoch war, und die Platinenbedarfs-Lösungsansätze dazu tendieren, weniger Einstellungen für jede Platine zu ergeben. Ferner wurde der Platinenbedarfs-Lösungsansatz durch die Verfahrensingenieure bevorzugt, da Platinen, die vollständig unter Verwendung eines Prozesses zusammengebaut werden, dazu tendieren, eine höhere Qualität und niedrigere Überarbeitungsanforderungen aufzuweisen, als Platinen, die unter Verwendung von mehr als einem Prozeß hergestellt werden.
  • Die erste Anwendung umfaßte eine Komponentenzuweisung in einer Abteilung, die Test- und Meß-Ausrüstung herstellt. Die Abteilung baute manuell ein Gemisch von mindestens 500 Platinen aus mehreren tausend Komponenten zusammen. Die Abteilung erwarb sechs neue halbautomatische Komponenteneinfügungsmaschinen, von denen jede Schlitze für 640 Komponenten aufwies, und wollte einen bestimmten Teil der Produktion in die Maschinen schieben. Dieses Problem wurde unter Verwendung der Version 2 des Mehrmaschinen-Platinenbedarfs-Algorithmusses gelöst. Das Ergebnis des Algorithmusses war eine Unterteilung der Platinen in Familien, die zusammen auf der gleichen Maschine verarbeitet werden konnten. Nach dem Anwenden des Algorithmusses, um die Platinenfamilien zu bestimmen, eine für jede der sechs Maschinen und den Rest für den manuellen Prozeß, wurde ein nachfolgender Schritt durchgeführt, um einige der Platinen unter den Maschinen neu zuzuweisen, um die Arbeitsbelastungen der unterschiedlichen Maschinen auszugleichen. Diese Neuzuweisung, die unter Verwendung der beschriebenen Prozedur durchgeführt wurde, wurde durchgeführt, da jede der sechs Maschinen von einem unterschiedlichen Bediener gehandhabt wurde. Das Herstellungsverfahren wurde dann eingestellt, um diese Platinenfamilien widerzuspiegeln.
  • Die zweite Anwendung umfaßte die Herstellung von PC-Platinen für Computer in einer anderen Abteilung. In diesem Betrieb wird ein breites Gemisch von Platinen auf einer Oberflächenbefestigungstechnologie-Linie (SMT-Linie; SMT = surface mount technology), die aus einem Satz von Komponenten-Aufnahme- und -Plazier-Einfügungsmaschinen besteht. Beim Herstellen zweier sequentieller Platinen müssen alle Komponenten, die für die zweite Platine benötigt werden, die sich nicht in den Maschinen befinden, wenn die erste Platine fertiggestellt ist, in den Maschinen eingestellt werden, bevor die zweite Platine hergestellt werden kann. Jedoch sind keine zusätzlichen Einstellungen notwendig, wenn zwei Platinen des gleichen Typs sequentiell hergestellt werden. Das Problem bestand darin, einen Herstellungsplan für die Platinen zu bestimmen, der die Herstellungskosten minimieren würde. Zwei unterschiedliche Lösungsansätze wurden betrachtet. Der erste Lösungsansatz bestand darin, eine Echtzeit-Sequenzierung der Platinen durchzuführen, um die Einstellungszeit zwischen Platinen zu minimieren; dieser Lösungsansatz minimiert die Anzahl von neuen Komponenten, die auf einer Maschine eingestellt werden müssen, bevor die nächste Platine hergestellt werden kann. Der zweite Lösungsansatz bestand darin, die Version 2 des Mehrmaschinen-Platinenbedarfs-Algorithmusses anzuwenden, um die Platinen in Familien zu gruppieren, die ohne eine Einstellung zwischen Platinen hergestellt werden konnten; in diesem Fall ist die Anzahl von Maschinenschlitzen, die durch den Algorithmus berücksichtigt wird, gleich der Gesamtzahl von Maschinenschlitzen in der SMT-Linie. Der Schritt 2 des Algorithmusses wurde wiederholt, bis alle Platinen in Familien gruppiert waren. Die Idee der Platinenbedarfs-Lösung besteht darin, einmal für eine einzelne Platinenfamilie einzustellen, alle Platinen in dieser Familie zu erzeugen und dann für die nächste Platinenfamilie einzustellen, usw.. Sobald die Platinen in Familien gruppiert waren, wurden die Arbeitsbelastungen, die unterschiedlichen Platinengruppen zugeordnet waren, unter Verwendung der umrissenen Prozedur ausgeglichen. Platinen wurden zwischen Gruppen verschoben, bis das Herstellungsvolumen unterschiedlicher Gruppen entsprechend ausgeglichen war.
  • Sowohl die Einstellungs-Minimierung als auch die Platinenbedarfs-Lösungsansätze wurden unter Verwendung einer Computersimulation ausgewertet. Obwohl der Einstellungs-Minimierungslösungsansatz eine Lösung mit einem um zwei Prozent größeren Durchsatz als der Platinenbedarfs-Lösungsansatz ergab, führte die Einstellungs-Minimierungslösung lange Zykluszeiten für Platinen ein, da der Echtzeit-Einstellungs-Minimierungsalgorithmus den Zusammenbau bestimmter Platinen unbegrenzt verschieben kann, wenn dieselben eine zu lange Einstellungszeit mit sich bringen. Der Platinenbedarfs-Lösungsansatz besitzt den Vorteil kürzerer Zykluszeiten. Außerdem ist das Herstellungsverfahren viel einfacher zu verwalten, wenn Platinen in Familien gruppiert sind, da nur eine Einstellung für jede Familie von Platinen durchgeführt werden muß. Aus diesen Gründen wurde der Platinenbedarfs-Lösungsansatz ausgewählt und implementiert.
  • Aus dem vorhergehenden ist für Fachleute offensichtlich, daß die Erfindung bei einem bevorzugten Ausführungsbeispiel zwei unterschiedliche, heuristische Lösungsansätze liefert, von denen sich einer auf das Zuweisen von Komponenten konzentriert, während sich der andere auf das Zuweisen von Platinen konzentriert. Beide Algorithmen ergeben für Problemen ähnlich denjenigen, die oben beschrieben sind, gute Lösungen, jedoch gegebene Aufwandsdaten für bestimmte tatsächliche Zusammenbauprozesse, wobei die Platinenbedarfs-Algorithmen bei den experimentellen Anwendungen etwas bessere Lösungen lieferten. Dies spiegelt die Tatsache wider, daß die Komponentenspar-Algorithmen dazu tendieren, bessere Lösungen zu liefern, wenn der Einstellungsaufwand gering ist. Die Platinenbedarfs-Algorithmen scheinen bessere Lösungen zu liefern, wenn der Einstellungsaufwand hoch sind. Es wurde herausgefunden, daß der Platinenbedarfs-Lösungsansatz den zusätzlichen Vorteil des Lieferns einer Lösung aufweist, in der die meisten Platinen nur einem Prozeß zugewiesen sind: dies führt zu einer höheren Qualität und geringeren Überarbeitungsanforderungen als bei einer Zuweisung, die die Platinen über Prozesse aufspaltet.
  • Wir erläuterten die experimentelle Implementierung unserer Ergebnisse für zwei unterschiedliche Herstellungsverfahren. Die erste Anwendung - die Komponentenzuweisung für den PC- Platinenzusammenbau bei einem Test- und Meßgerät - war das ursprüngliche Problem, das unsere Modell- und Lösungsansätze entstehen ließ. Die zweite Anwendung - das Erzeugen von Platinenfamilien für die PC-Platinen-Herstellung bei einer Computerherstellungsoperation - zeigt die Verknüpfung zwischen unseren Lösungsansätzen und Gruppentechnologiekonzepten. Es wird angenommen, daß unser Lösungsansatz einen Vorteil gegenüber herkömmlichen Gruppentechnologie-Lösungsansätzen aufweist, da wir nicht nur die Gemeinsamkeit von Komponenten zwischen unterschiedlichen Produkten betrachten, sondern auch das Produkt und Komponenten-Volumen.
  • Gemäß der Formulierung berücksichtigt unser Modell den Einstellungsaufwand, der unterschiedlichen Zusammenbauprozessen zugeordnet ist, berücksichtigt jedoch nicht die Transport- Zeit oder den -Aufwand, der erforderlich ist, um eine Platine zwischen unterschiedlichen Prozessen zu bewegen. In unseren speziellen Anwendungen war der Transportaufwand nicht signifikant, da die Maschinenkapazitäten relativ zu den Komponentenanforderungen der einzelnen Platinen ziemlich groß waren; folglich war es selten der Fall, daß eine Platine unter mehr als zwei Prozessen aufgespalten wurde, als das Problem gelöst wurde. In einigen Anwendungen kann die Berücksichtigung des Transportaufwands zwischen Prozessen jedoch wichtig sein.
  • Unsere Platinenbedarfs- und Komponentenspar-Algorithmen sind entworfen, um die Datenstruktur auszunutzen, die typischerweise in PC-Platinen-Zusammenbauverfahren zu finden ist: unsere Algorithmen werten bestimmte Charakteristika des PC- Platinen-Bedarfs und der Komponentenanforderungen aus, beispielsweise eine Komponentengemeinsamkeit und breite Schwankungen der Komponentenbenutzung und der Platinenbedürfnisse. Wir zeigten, daß die Algorithmen für typische PC-Platinen und Komponentenbedarfs-Daten Lösungen ergaben, die beinahe optimal sind.

Claims (2)

1. Ein Verfahren des Zusammenbauens einer Mehrzahl von gedruckten Schaltungsplatinen aus einer Mehrzahl von Schaltungskomponenten durch die Verwendung einer Maschine mit einer gegebenen Betriebskapazität, wobei das Verfahren folgende Schritte aufweist:
(a) Vorbereiten einer Liste von Schaltungskomponenten für jede unterschiedliche Schaltungsplatine, die zusammengebaut werden soll;
(b) Bestimmen des Herstellungsbedarfs für jede unterschiedliche Schaltungsplatine;
(c) Bestimmen einer Zuweisung von Operationen auf der Basis der Schaltungskomponentenliste und des Herstellungsbedarfs für die Maschine, um den Gesamt- Zusammenbau-Einstellungs- und -Komponentenverarbeitungs-Aufwand zu minimieren, einschließlich des Anwendens eines ersten Zusammenbaumodells, das folgende Schritte aufweist: (i) Zuweisen aller Komponenten für einen Maschinenzusammenbau, als wenn eine Maschine mit einer unbegrenzten Schaltungskomponenten-Installationskapazität vorläge, und (ii) selektives Beseitigen von einem Maschinenzusammenbau zu einem manuellen Zusammenbau derjenigen Schaltungskomponenten eines Typs, die den minimalen inkrementalen Aufwand hinzufügen, wobei der inkrementale Aufwand aus dem inkrementalen, variablen Aufwand pro Komponente dieses einen Typs besteht, der als manueller Verarbeitungsaufwand minus einem Maschinenverarbeitungsaufwand für die Komponente mal dem gesamten betroffenen Volumen dieser Komponenten plus den inkrementalen, manuellen Einstellungskosten für alle Platinentypen, die diesen Komponententyp verwenden, definiert ist, wobei in einem beliebigen nachfolgenden Beseitigungsschritt der inkrementale, manuelle Einstellungsaufwand für jeden Platinentyp, der bereits einem manuellen Einstellungsaufwand unterlag, von dem inkrementalen Aufwand ausgeschlossen wird, und wobei der variable Verarbeitungsaufwand und der inkrementale, manuelle Einstellungsaufwand in der Form von Zeiteinheiten ausgedrückt werden, bis die Anzahl von Schaltungskomponenten innerhalb der tatsächlichen Maschinenkapazität ist; und
(d) Zusammenbauen der Schaltungsplatinen, wie durch den Schritt (c) bestimmt ist.
2. Ein Verfahren gemäß Anspruch 1, bei dem der Schritt des Bestimmens der Zuweisung von Operationen die Schritte des (f) Anwendens eines zweiten Zusammenbaumodells aufweist, das die Schritte des (i) Zuweisens aller Typen von Schaltungsplatinen, deren Schaltungskomponenten manuell zusammengebaut werden sollen, und (ii) des selektiven Zuweisens eines Schaltungsplatinentyps, der pro hergestellter Platine die minimale, inkrementale Zunahme von erforderlichen Komponententypen hinzufügt und der die Komponenteninstallationskapazität der Maschine für einen Maschinenzusammenbau nicht verletzt, wobei die Zuweisung von Platinentypen fortgesetzt wird, bis keine weiteren Platinentypen für einen Zusammenbau durch die Maschine zugewiesen werden können; und des Auswählens der Lösung mit dem geringsten Aufwand des ersten und des zweiten Aufwand-Zusammenbaumodells.
DE69123120T 1990-09-28 1991-09-27 Verfahren zur Herstellung von gedruckten Leiterplatten Expired - Fee Related DE69123120T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US07/590,611 US5258915A (en) 1990-09-28 1990-09-28 System and method for optimum operation assignments in printed circuit board manufacturing

Publications (2)

Publication Number Publication Date
DE69123120D1 DE69123120D1 (de) 1996-12-19
DE69123120T2 true DE69123120T2 (de) 1997-03-06

Family

ID=24362930

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69123120T Expired - Fee Related DE69123120T2 (de) 1990-09-28 1991-09-27 Verfahren zur Herstellung von gedruckten Leiterplatten

Country Status (6)

Country Link
US (1) US5258915A (de)
EP (1) EP0478361B1 (de)
JP (1) JPH04257968A (de)
KR (1) KR920007514A (de)
DE (1) DE69123120T2 (de)
HK (1) HK32897A (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102009039988A1 (de) * 2009-09-03 2011-03-17 Siemens Aktiengesellschaft Verfahrwege für Lackierroboter

Families Citing this family (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5325305A (en) * 1992-07-24 1994-06-28 The Boeing Company Automated setup verification system
US5523960A (en) * 1994-08-10 1996-06-04 Samsung Electronics Co., Ltd. Evaluation method of assembly sequences
JPH09282374A (ja) * 1996-04-16 1997-10-31 Matsushita Electric Ind Co Ltd 実装工場経営支援システム
JP3537267B2 (ja) * 1996-06-06 2004-06-14 松下電器産業株式会社 設備運用方法
AU7273198A (en) * 1997-05-01 1998-11-24 Motorola, Inc. Dynamically reconfigurable assembly line for electronic products
US6378200B1 (en) 1997-09-18 2002-04-30 Motorola, Inc. Dynamically reconfigurable assembly line for electronic products
JP2003030250A (ja) * 2001-07-12 2003-01-31 Oki Electric Ind Co Ltd プリント基板設計工数見積りシステムと見積りプログラム
US7027885B1 (en) * 2002-12-30 2006-04-11 Advanced Micro Devices, Inc. Determining batch start versus delay
US6829514B2 (en) * 2003-01-17 2004-12-07 Motorola, Inc. Balancing workloads in an electronics assembly factory
JP2005011195A (ja) * 2003-06-20 2005-01-13 Matsushita Electric Ind Co Ltd 情報処理装置および製造装置
TWI276932B (en) * 2005-02-17 2007-03-21 Powerchip Semiconductor Corp Methods for determining tool assignment sequence and manufacturing systems using the same
EP1777648A1 (de) * 2005-10-24 2007-04-25 Sap Ag Produktionsplanung mit sequenzunabhängigen Aufbauaktivitäten
US9008836B2 (en) * 2007-01-09 2015-04-14 Abb Inc. Method and system for robotic assembly parameter optimization
DE102009013353B3 (de) 2009-03-16 2010-10-07 Siemens Aktiengesellschaft Verfahren zur Bestimmung von Rüstungen für konstante Tische von Bestückautomaten
EP2839727B1 (de) * 2012-07-06 2019-07-10 Siemens Aktiengesellschaft Zuordnung von leiterplatten auf bestückungslinien
DE102012211810A1 (de) * 2012-07-06 2014-02-20 Siemens Aktiengesellschaft Bildung von Rüstfamilien auf Bestückungslinien
CN104412729B (zh) * 2012-07-06 2017-04-12 西门子公司 印制电路板向装配线的分配
CN104412733B (zh) * 2012-07-06 2016-11-09 西门子公司 装配电路板以给电路板装配电子构件的方法和设备
KR102032367B1 (ko) * 2012-10-05 2019-10-16 한국전자통신연구원 태스크 처리 장치 및 방법
CN103838219A (zh) * 2013-09-09 2014-06-04 昆明理工大学 一种多层印刷电路板制造中感光阻焊过程的优化调度方法
DE102014222940A1 (de) * 2014-11-11 2016-05-12 Siemens Aktiengesellschaft Bestücken von Leiterplatten
DE102014222936A1 (de) * 2014-11-11 2016-05-12 Siemens Aktiengesellschaft Bestücken von Leiterplatten
CN104571007B (zh) * 2014-11-20 2018-11-27 昆明理工大学 一种轿车生产制造中总装配线生产装配过程的优化调度方法
DE102014225713A1 (de) * 2014-12-12 2016-06-16 Siemens Aktiengesellschaft Verfahren und System zur Bestückung von Leiterplatten sowie Computerprogrammprodukt zur Durchführung des Verfahrens
DE102015200420A1 (de) * 2015-01-14 2016-07-14 Siemens Aktiengesellschaft Verfahren und System zur Bestückung von Leiterplatten
CN110602939B (zh) 2015-03-26 2020-10-27 株式会社富士 元件安装线的最优化装置及元件安装线的最优化方法
US11240951B2 (en) 2016-03-10 2022-02-01 Siemens Aktiengesellschaft Method and device for allocating assemblies to placement lines
CN108781531B (zh) * 2016-03-10 2020-07-10 西门子股份公司 用于将组件分配给装配线路的方法和设备
WO2017187512A1 (ja) * 2016-04-26 2017-11-02 富士通株式会社 製造計画生成装置、製造計画生成方法及び製造計画生成プログラム
CN109074055B (zh) * 2016-04-26 2021-06-15 富士通株式会社 作业辅助装置、作业辅助方法以及存储作业辅助程序的计算机可读取存储介质
JP6837198B2 (ja) * 2016-11-30 2021-03-03 パナソニックIpマネジメント株式会社 設備構成作成支援システムおよび設備構成作成支援方法
EP3474650B1 (de) * 2017-10-19 2020-12-09 Sick Ag Verfahren zur erstellung eines rüstsatzes für eine bestückungsmaschine
CN109934427B (zh) * 2017-12-15 2022-03-04 北京京东尚科信息技术有限公司 生成物品分配方案的方法和装置
CN109063932B (zh) * 2018-09-10 2021-07-16 昆明理工大学 一种用于电控箱装配过程的优化调度方法
JP6609893B2 (ja) * 2018-12-04 2019-11-27 株式会社Fuji 部品実装機、基板生産ライン、および部品種の割り振り方法
US20230345689A1 (en) * 2020-07-28 2023-10-26 Siemens Aktiengesellschaft Method and device for populating circuit boards by fixedly assigned components on at least two assembly lines
EP4154691A1 (de) * 2020-07-28 2023-03-29 Siemens Aktiengesellschaft Verfahren und vorrichtung zum bestücken von leiterplatten mittels einer festrüstung auf einer bestückungslinie

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4667403A (en) * 1984-05-16 1987-05-26 Siemens Aktiengesellschaft Method for manufacturing electronic card modules
US4646238A (en) * 1984-10-26 1987-02-24 Analog Devices, Inc. Material requirements planning system and procedures for use in process industries
JPH0668696B2 (ja) * 1985-02-22 1994-08-31 株式会社日立製作所 挿入機用ncデータ作成方法
US4648023A (en) * 1985-05-23 1987-03-03 Powell Roger A Method for resource allocation for the manufacture of a product
US4885686A (en) * 1987-01-12 1989-12-05 American Telephone And Telegraph At&T Bell Laboratories Methods and apparatus for efficient resource allocation
US4887207A (en) * 1987-12-29 1989-12-12 International Business Machines Corporation Automated system for evaluating the sensitivity of inventory costs due to fluctuations in customer demand
US5077661A (en) * 1989-05-03 1991-12-31 Hewlett-Packard Company Assignment-dependent resource allocation method
US5170554A (en) * 1990-09-28 1992-12-15 Hewlett-Packard Company High mix printed circuit assembly technique

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102009039988A1 (de) * 2009-09-03 2011-03-17 Siemens Aktiengesellschaft Verfahrwege für Lackierroboter

Also Published As

Publication number Publication date
HK32897A (en) 1997-03-27
EP0478361B1 (de) 1996-11-13
DE69123120D1 (de) 1996-12-19
EP0478361A1 (de) 1992-04-01
KR920007514A (ko) 1992-04-28
JPH04257968A (ja) 1992-09-14
US5258915A (en) 1993-11-02

Similar Documents

Publication Publication Date Title
DE69123120T2 (de) Verfahren zur Herstellung von gedruckten Leiterplatten
DE69120887T2 (de) Verfahren zum Zusammenbau von gedruckten Leiterplatten mit hoher Abwechselung
DE69028612T2 (de) Aufstelloptimierung von flexiblen Herstellungssystemen
EP2893791B1 (de) Bildung von festrüstungs-rüstfamilien zur bestückung von leiterplatten
EP2839727B1 (de) Zuordnung von leiterplatten auf bestückungslinien
EP2829166B1 (de) Bildung von rüstfamilien auf bestückungslinien
DE3503119A1 (de) Verfahren zum automatischen erzeugen eines quellenprogramms
EP2829165B1 (de) Zuordnung von leiterplatten auf bestückungslinien
DE69911986T2 (de) Einrichtung und verfahren zum ausgleichen und verteilen von steueralgorithmenlasten
DE69030942T2 (de) Verfahren und Vorrichtung zur Zuweisung von Operationen
DE19834620C2 (de) Verfahren zum Aufrüstung der Bestückungsautomaten einer Bestückungslinie für ein Mix unterschiedlicher Leiterplattentypen
EP3474650B1 (de) Verfahren zur erstellung eines rüstsatzes für eine bestückungsmaschine
DE102009057401B3 (de) Betriebsverfahren für einen Rechner mit performance-Optimierung durch Gruppieren von Applikationen
EP2574996B1 (de) Verfahren zur Ermittlung eines Teillastzustandes einer Anlage
DE4401947A1 (de) Verfahren und Einheit zum Bestimmen von Geräteeinstelländerungen und Fertigungssystem
EP0770946B1 (de) Verfahren zur automatisierten optimalen Redundanz-Auslegung von Messungen für die Leittechnik in Kraftwerken
EP1556811A2 (de) Vorhersage des termintreuegrads in der serienfertigung
WO2002067151A1 (de) Konfigurator
DE102019218448A1 (de) Testen von Kombinationen aus Software und Hardware
DE69221465T2 (de) Regelungsverfahren für einen programmierbaren Kontroller
DE102010043405A1 (de) Verfahren und System zur Planung mechatronischer Systeme mit Mechatronikeinheiten
EP4228385B1 (de) Computerimplementiertes verfahren zur bestimmung einer optimalen zuordnung von baugruppentypen zu einer hinsichtlich seiner bestückungsleistung ausgewählten bestückungslinie
EP1116425B1 (de) Verfahren und vorrichtung zur rechnergestützten pipettenauswahl für einen bestückungskopf und zur zuordnung von bauelementen zu den in einer pipettenauswahl vorgegebenen pipettenarten
EP4154692B1 (de) Verfahren und vorrichtung zum bestücken von leiterplatten mittels einer festrüstung auf mindestens zwei bestückungslinien
DE112020005639B4 (de) Zuweisungsvorrichtung, lernvorrichtung, ableitungsvorrichtung, zuweisungsverfahren und zuweisungsprogramm

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8327 Change in the person/name/address of the patent owner

Owner name: HEWLETT-PACKARD CO. (N.D.GES.D.STAATES DELAWARE),

8327 Change in the person/name/address of the patent owner

Owner name: HEWLETT-PACKARD DEVELOPMENT CO., L.P., HOUSTON, TE

8339 Ceased/non-payment of the annual fee