Lineair snijden in Excel. Programma voor het optimaal snijden van lineaire plano's in onderdelen gebruikershandleiding - programma

Het programma is ontworpen om het zagen van profielen en andere lange materialen (hout, boomstammen, buizen, vensterbanken) te optimaliseren.
Er wordt gebruik gemaakt van het algoritme "dichte plaatsing", dat wil zeggen dat het genomen product op het kortste resterende deel van het werkstuk wordt gelegd waarop het is geplaatst. Als het nergens past, wordt er een nieuwe blanco genomen. De optimalisatietaak is het vinden van een reeks producten waarin minder werkstukken zullen worden gebruikt en de lengte van bedrijfsresten langer zal zijn. Bij de eerste stap worden de producten op de stangen geplaatst willekeurige volgorde. Er ontstaat een ‘oorspronkelijke populatie’. Tijdens het besluitvormingsproces muteert en vermenigvuldigt de populatie zich, sterven niet-succesvolle exemplaren en blijven de beste evolueren. Alles is hetzelfde als in de dieren- en plantenwereld + kunstmatige selectie.

Livedemo op de website

Het onderstaande voorbeeld is geen statische afbeelding, maar een werkende webapplicatie.
Met de knop kunt u het profielsnijden starten Begin, stel uw product- en werkstukafmetingen in, wijzig de optimalisatie-instellingen en evalueer de oplossing.
Natuurlijk werkt de browseroptimalisatie langzamer dan het oorspronkelijke programma, maar u kunt er wel gratis werkbare resultaten mee verkrijgen zonder dat u iets op uw computer hoeft te downloaden en te installeren.

Voordelen

  • Oknosoft:cutting biedt snijkaarten van hoge kwaliteit. Talrijke implementaties bevestigen de werkelijke trimverhouding van niet meer dan 1% bij het optimaliseren van batches van 30 contouren (~120 segmenten)
  • Om brongegevens te lezen en snijresultaten vast te leggen, gebruikt het programma eenvoudige formaten tekstbestanden, wat de integratie met door de klant geïmplementeerde boekhoudsystemen vereenvoudigt
  • Indien nodig kan het knippen worden uitgevoerd onder Linux of OS X in een browser of Node.js met het doorgeven van parameters via url-, web-socket- of javascript-objecten

Lineaire optimalisatie-algoritmen

Gebruikt in windowsoft:snijden genetisch algoritme. De essentie ervan is dit:
Laten we elke verdeling van producten over de rijen een oplossing noemen. Laten we een objectieve functie definiëren waarmee we de kwaliteit van oplossingen kunnen vergelijken. Laten we verschillende willekeurige oplossingen bedenken en deze een generatie noemen. Laten we de regels bepalen voor het verkrijgen van de volgende generatie. Kopieert met de beste doelfunctie het grootste deel van hun “genenpool” doorgeven, dit is onze “kunstmatige selectie”. Nu hoeft u alleen nog maar het systeem aan zijn lot over te laten, het te laten muteren en de snijresultaten te optimaliseren
Tijdens het ontwikkelingsproces hebben we de ‘Monte Carlo’-methode getest, waarbij onze ‘instances’ willekeurig en onafhankelijk van elkaar zijn, en ‘Ant-algoritmen’ (ACO-mierenkolonie-optimalisatie). Alle methoden bleken behoorlijk efficiënt, maar het genetische algoritme bleek iets effectiever

Bezorgopties

Er zijn twee leveringsmogelijkheden voor de Oknosoft-snijmodule: snijden - inclusief alomvattende oplossing Beheer van aangepaste productie en als afzonderlijk product uitvoerbaar bestand. Interactie met het snijprogramma in het eerste scenario is volledig verborgen voor de gebruiker. De operator werkt mee standaard documenten 1C:

  • Op basis van klantorders wordt een productieplan opgesteld
  • Op basis van het plan - ploegendienstopdrachten met een lijst van producten en benodigde materialen
  • Snijoptimalisatie vindt plaats binnen de productietaak
  • Tijdens het optimalisatieproces neemt het programma bedrijfsafsnijdsels van onderhanden werk en plaatst het nieuw gevormde bedrijfsafsnijdsels in het mobiele magazijn
  • De ploegtaak kan snijformulieren afdrukken voor handmatige productie of bestanden genereren voor CNC-machines
  • Ook worden vanuit een ploegendienst labels voor gesneden producten en lay-outdiagrammen voor karren en piramides afgedrukt.
  • Op basis van productieopdrachten worden eisen gevormd: facturen voor het overbrengen van materialen naar de werkplaats, rekening houdend met de behoeften en standaardverpakkingen

Programma-interface (lineaire snij-API)

Het invoergegevensbestand is setup.ini en wordt in de map met het uitvoerbare bestand geplaatst.
De uitvoergegevensbestanden - result.txt, resultproduct.txt en resultstick.txt - worden in dezelfde map gegenereerd.
U kunt bestanden met demogegevens voor Oknosoft:cutting downloaden via de link aan het einde van de pagina. In de bestanden worden de volgende tags gebruikt:

  • Uitvoervariant - de uitvoerbestandsstructuur van het bestand. Mogelijke waarden: tab, oknosoft, standaard oknosoft
    • In de optie "oknosoft" worden de bestanden resultproduct.txt en resultstick.txt gegenereerd met informatie over de plaatsing van producten op de werkstukken en de resulterende trim
    • De optie "tab" geeft vijf waarden weer, gescheiden door "tab"-tekens: productlengte, staafnummer, staaflengte, zaagnummer en resterend werkstuk
  • Algoritme - het gebruikte algoritme. Mogelijke waarden: willekeurig, conservatief, genetisch, standaard genetisch
    • Willekeurig - willekeurige selectie van opties
    • Conservatief - exemplaren van de volgende iteratie komen van dezelfde 'ouder'
    • Genetisch - van twee ouders
  • Variatie - variabiliteit, een parameter van de "conservatieve" en "genetische" algoritmen. Hoe hoger, hoe minder de nakomelingen ‘lijken’ op hun ouders. Standaard is 1.
  • Generaties - aantal algoritme-iteraties, standaard 40000
  • Personen - het aantal “instanties” in de “populatie”, het aantal oplossingen dat in één iteratie wordt gebruikt. Het "willekeurige" algoritme voert eenvoudigweg generaties*personen-iteraties uit met één instantie (oplossing)
  • KnifeWidth - zaagbreedte
  • StickLength - lengte van de nieuwe stick
  • Producten - productlengte
  • Restjes - lengte van het afval dat bij het snijden wordt gebruikt
  • Wrongsnipmin – minimale lengte van een “slecht” patroon
  • Verkeerdesnipmax – maximale lengte"slechte" snoei
    De optimalisatieresultaten bevatten geen trims met een lengte tussen Wrongsnipmin en Wrongsnipmax

Paar knippen

Wordt gebruikt bij het voorbereiden van gegevens voor machines die het snijden van paren ondersteunen. In dit geval worden twee profielstaven tegelijk in de machine geplaatst en worden in één snijcyclus twee identieke halffabrikaten gevormd

Het probleem van gepaard snijden wordt opgelost door de gegevens te groeperen voordat deze naar het optimalisatieprogramma worden overgebracht en vervolgens de snijresultaten te dupliceren in paren producten en plano's. Bij het snijden in de UPZP houdt het systeem rekening met de eigenschappen van het artikel en maakt het gebruik van enkelvoudig of paarsgewijs snijden, afhankelijk van de mogelijkheden van de snijmachines

Een groot aantal producten snijden

Om optimalisatie van hoge kwaliteit te bereiken, moet de programma-invoer enerzijds een aanzienlijk aantal producten van verschillende lengtes ontvangen, zodat de optimizer “iets te sorteren heeft”. Aan de andere kant neemt bij zeer grote batches de kans om het maximum te vinden met een vast aantal iteraties af. Experimenten hebben aangetoond dat een batch van 60–120 plano's optimaal is (wat overeenkomt met een productiecyclus van 30–60 producten bij het in paren snijden). Als er meer dan 120 werkstukken moeten worden geoptimaliseerd, beste resultaten kan worden bereikt door het probleem in N delen te verdelen en voor elk deel opeenvolgende optimalisaties uit te voeren. Het verwerken van de vorming van batches van productietaken kan producten groeperen op profieltype en producten selecteren met maximale variatie voor ploegendiensten, waardoor de operator wordt ontlast routinematig werk over het opstellen van productiedocumenten

Download snijvoorbeelden en documentatie

  • Demokaarten voor enkel en dubbel snijden: 60.01 Snijvellen
  • Documentatie en voorbeeldbestanden:
zie Lineaire programmeermodellen voor het oplossen van snijproblemen.

Voorbeeld nr. 1. De producten van het papierbedrijf worden geproduceerd in de vorm van papierrollen met een standaardbreedte van elk 2 meter. Volgens speciale bestellingen van consumenten levert het bedrijf rollen van andere formaten, waarvoor standaardrollen worden gesneden. Typische rolbestellingen zijn dat niet standaard maten worden in tabel gegeven.


Dergelijke combinaties moeten we vinden verschillende opties het snijden van standaardrollen om binnenkomende orders volledig te kunnen vervullen met minimale verliezen (verspilling).
Laten we alle mogelijke opties voor het snijden van een standaardrol bekijken;
Rolbreedte (m)Opties voor rolsnijdenMinimum aantal rollen
1 2 3 4 5 6
0,5 0 2 2 4 1 0 150
0,7 1 1 0 0 2 0 200
0,9 1 0 1 0 0 2 300
Afval in m 0,4 0,3 0,1 0 0,1 0,2 -

Laten we de variabelen definiëren:
X j - aantal standaardrollen gesneden volgens optie j,j =1, 2, 3,4,5, 6.
De beperkingen houden rechtstreeks verband met de eis om de productie van het vereiste aantal niet-standaardrollen te garanderen. Met behulp van de gegevens in de tabel krijgen we:
2X 2 + 2 X 3 + 4 X 4 + X 5 = 150 - aantal rollen 0,5 m breed,
X 1 + X 2 + 2 X 5 = 200 - aantal rollen 0,7 m breed,
X 1 + X 3 + 2 X 6 = 300 - aantal rollen 0,9 m breed.

De uitdrukking voor de totale hoeveelheid papierverlies (afval) (in m) heeft de vorm
0,4X 1 + 0,3X2 + 0,1X3 + 0,1X5 + 0,2X6.

Dus, wiskundig model V algemeen beeld lijkt op
min f(x) = 0,4 X 1 + 0,3X 2 + 0,1X 3 + 0,1X 5 + 0,2X 6.
met beperkingen:
2X 2 + 2 X 3 + 4 X 4 + X 5 = 150
X2 + X2 + 2 X5 = 200
X2 + X3 + 2 X6 = 300

Probleem met materiaalsnijden

Deze taak bestaat uit het ontwikkelen van een plan dat voorziet in de vereiste set producten met minimale verspilling (in lengte, oppervlakte, gewicht, kosten, enz.) bij het snijden van materialen of het leveren van maximaal aantal sets producten. Voorbeeld nr. 2. Moet ontwikkeld worden optimaal plan het snijden van standaard staalplaten, waardoor de output van het geplande aantal plano's van verschillende typen wordt gegarandeerd met minimaal totaalverlies, als bekend is dat het uit een partij plaatstaal nodig is om vier soorten verschillende plano's te snijden in de hoeveelheid bi (i = 1, 2,...,4) stuks. Een staalplaat met standaardafmetingen kan op vier manieren worden gesneden. Aan iedereen mogelijke manier snijden komt overeen met de snijkaart. De uitvoer van plano's in stukken is bekend uit de snijkaarten verschillende soorten a ij (i = 1, 2,…4; j = 1,2,…,4), evenals afvaloppervlak c j (j = 1, 2,…,n) bij het snijden van één staalplaat met behulp van de j-de snede methode. Hoeveel staalplaten moeten er op een of andere manier gesneden worden zodat de verspilling minimaal is?

Tabel 3

Soort
blanco's

Doelplan voor het aantal werkstukken (b 1)

Uitvoer van blanco's (stuks) van verschillende typen
van snijkaarten (a ij)

1 2 3 4
1 240 1 4 0 1
2 200 1 0 4 0
3 120 1 0 0 3
4 140 1 1 0 3
Afvaloppervlakte, m2
(cj)
1,4 0,1 2,1 0,1

Laten we een economisch en wiskundig model van het probleem creëren. Laten we met x j de hoeveelheid bronmateriaal (staalplaten) aangeven die moet worden gesneden met behulp van een van de methoden j. De beperkingen in het probleem moeten overeenkomen met de geplande uitvoer van werkstukken verschillende soorten. De objectieve functie komt neer op het vinden van de minimale verspilling tijdens het snijden

F=1,4 x 1 +0,1 x 2 +2,1 x 3 +0,1 x 4 →(min)..
Beperkingen op de uitvoer van werkstukken van het i-de type voor alle j-snijmethoden:

Voorbeeld nr. 3. Materiaal uit één monster in de hoeveelheid van eenheden wordt ontvangen voor snijden (snijden, verwerken). Het is vereist om er l verschillende componenten van te maken in hoeveelheden die evenredig zijn met de getallen b 1, b 2, ..., b l (volledigheidsvoorwaarde). Elke eenheid materiaal kan worden gesneden op verschillende manieren, en het gebruik van de i-de methode (i = 1, 2,…,n) geeft ik eenheden van het k-de product (k = 1, 2,…,l). Het is noodzakelijk om een ​​snijplan te vinden dat het maximale aantal sets biedt.
Laten we een economisch en wiskundig model van het probleem creëren.
Laten we x i aanduiden – het aantal eenheden materiaal dat is gesneden met behulp van de i-de methode, en x – het aantal vervaardigde sets producten. Vervolgens wordt de objectieve functie gereduceerd tot vinden

F=x →(max),
met beperkingen: door de totale hoeveelheid materiaal gelijk aan de som van zijn eenheden, op verschillende manieren gesneden; volgens de eis van volledigheid en niet-negativiteit van variabelen.

Voorbeeld nr. 4. De onderneming beschikt over boomstammen met een lengte L m die in stukken met een lengte l 1, l 2, l 3 m moeten worden gesneden in respectievelijk hoeveelheden p 1, p 2, p 3.
Het is noodzakelijk om een ​​optimaal plan op te stellen voor het snijden van het materiaal, dat minimale verspilling garandeert, afhankelijk van de vervulling van het plan voor de uitvoer van werkstukken. De initiële gegevens worden weergegeven in de tabel.

TaakLengteAfmetingen werkstukken, mAantal plano's, stuks.
ik 1ik 2ik 3blz. 1p2blz. 3
68 6,5 2,1 2,3 1,4 600 720 900

Oplossing: Laten we eerst een wiskundig model van ons probleem maken. Mogelijke opties snijden en afval voor elk van hen worden opgeschreven in de vorm van een tabel.
Lengte van het werkstukSnijmogelijkhedenAantal spaties
1 2 3 4 5 6 7
2,1 3 2 2 1 1 0 0 600
2,3 0 1 0 1 0 2 1 720
1,4 0 0 1 1 3 1 3 900
Resterende, m0,2 0 0,9 0,7 0,2 0,5 0

Laten we met x i het aantal stammen aangeven dat is gezaagd volgens de i-de optie (i=1..7). Vervolgens wordt de totale afvalbalans geschreven als een lineaire functie:
Z = 0,2x 1 + 0x 2 + 0,9x 3 + 0,7x 4 + 0,2x 5 + 0,5x 6 + 0x 7
In dit geval moet aan de voorwaarden voor het voldoen aan het plan voor het aantal blanco's worden voldaan, d.w.z.
3x 1 + 2x 2 + 2x 3 + x 4 + x 5 = 600
x 2 + x 4 + 2x 6 + x 7 = 720
x 3 + x 4 + 3x 5 + x 6 + 3x 7 = 900

Om het probleem op te lossen, is het dus noodzakelijk om minZ onder de beperkingen te vinden. Omdat minZ = -max(-Z(x)), zullen we in plaats van het probleem van het minimaliseren van een functie het probleem van het maximaliseren van een functie oplossen:
Z = -(0,2x 1 + 0x 2 + 0,9x 3 + 0,7x 4 + 0,2x 5 + 0,5x 6 + 0x 7)

Voorbeeld nr. 5. Om één product te naaien, moet u 6 delen uit de stof knippen. De kledingfabriek ontwikkelde twee opties voor het snijden van stof. De tabel (hieronder) toont de kenmerken van de snijopties voor 10 m 2 stof, volledigheid, d.w.z. aantal onderdelen bepaald type, die nodig zijn voor het naaien van één product. Maandelijkse aanvoer van stof voor naaiproducten van dit type bedraagt ​​405 m2. Het is de bedoeling om komende avond 90 items te naaien.
Bouw een wiskundig model van het probleem waarmee u het naaiplan de komende maand met een minimum aan afval kunt voltooien.

Tabel - Kenmerken snijmogelijkheden voor stukken stof van 10 m 2

Snijoptie Aantal onderdelen, stuks/stuk Afval, m 2 /snede
1 2 3 4 5 6
1 60 0 90 40 70 90 0,5
2 80 35 20 78 15 0 0,35
Volledigheid, stuks/product 1 2 2 2 2 2

Wiskundige formulering van het probleem

Taakvariabelen
In dit probleem worden de benodigde hoeveelheden niet expliciet aangegeven, maar er wordt gezegd dat aan het maandplan voor het naaien van 90 producten moet worden voldaan. Om 90 producten per maand te naaien, moet een strikt gedefinieerd aantal onderdelen worden gesneden. De snit wordt op twee verschillende manieren gemaakt uit stukken stof van 10 m2, waardoor je deze kunt krijgen ander nummer details. Omdat niet vooraf bekend is hoeveel stof er met de eerste methode zal worden gesneden en hoeveel er met de tweede methode zal worden gesneden, kunnen de vereiste waarden worden ingesteld als het aantal stukken stof van 10 m² dat met elke methode wordt gesneden. :
x 1 - het aantal stukken stof van elk 10 m², geknipt volgens de eerste methode binnen een maand, [knippen/maand];
x 2 - het aantal stukken stof van elk 10 m², geknipt volgens de eerste methode binnen een maand, [knippen/maand];

Objectieve functie
Het doel van het oplossen van het probleem is om het plan te voltooien met een minimale hoeveelheid afval. Aangezien het aantal producten strikt gepland is (90 stuks/maand), beschrijft deze parameter niet de TF, maar verwijst hij naar een beperking; het niet naleven ervan betekent dat het probleem niet is opgelost. En het criterium voor de effectiviteit van de implementatie van het plan is de parameter "hoeveelheid afval", die tot een minimum moet worden beperkt. Omdat bij het snijden van één stuk (10 m2) stof volgens de eerste optie 0,5 m2 afval wordt verkregen, en volgens de tweede optie - 0,35 m2 (zie Tabel 1), is de totale hoeveelheid afval tijdens het snijden (CF) weergave
L(x) = 0,5x 1 + 0,35x 2 = min,

Beperkingen
Het aantal stofsneden op verschillende manieren wordt beperkt door de volgende voorwaarden:

  • Er moet aan een plan voor het naaien van producten worden voldaan, dat wil zeggen het totaal aantal uitgesneden delen moet zodanig zijn dat er per maand 90 producten uit kunnen worden genaaid, namelijk: er moeten minimaal 90 van het 1e type zijn en minimaal 90 onderdelen van andere typen 180 (zie tabel voor volledigheid).
  • Het stofverbruik mag de voorraad van een maand in het magazijn niet overschrijden;
  • Het aantal stukken gesneden stof kan niet negatief zijn.
De beperkingen op het naaiplan voor jassen hebben het volgende betekenisvolle invoerformulier.
(Totaal aantal onderdelen nr. 1 gesneden voor alle opties)≥ (90 stuks);
(Totaal aantal onderdelen nr. 2 gesneden voor alle opties) ≥ (180 stuks);
(Totaal aantal onderdelen nr. 6 gesneden voor alle opties) ≥ (180 stuks);

Wiskundig gezien worden deze beperkingen geschreven als :
60x 1 + 80x 2 ≥90;
35x 2 ≥180;
90x 1 + 20x 2 ≥180;
40x 1 + 78x 2 ≥180;
70x 1 + 15x 2 ≥180;
90x 1 ≥180;

Er is een limiet op het textielverbruik volgende formulieren inzendingen:
Inhoudelijk
(totaal aantal geknipte stoffen per maand)≤ (405m2)
Wiskundig
x 1 +x 2 ≤405/10

De niet-negativiteit van het aantal gesneden segmenten wordt weergegeven in het formulier
x 1 ≥ 0, x 2 ≥ 0

Het wiskundige model van het probleem heeft dus de vorm
L(x) = 0,5x 1 + 0,35x 2 = min [m 2 afval/maand],
60x 1 + 80x 2 ≥90;
35x 2 ≥180;
90x 1 + 20x 2 ≥180;
40x 1 + 78x 2 ≥180;
70x 1 + 15x 2 ≥180;
90x 1 ≥180;
x 1 +x 2 ≤40,5
x 1 ≥ 0, x 2 ≥ 0

Voorbeeld nr. 6. Er zijn 69 leidingen voor het warmtenet, elk 1070 cm. Ze moeten in buizen van 130, 150 en 310 cm worden gesneden. Zoek een optie voor het doorsnijden van de inkomende leidingen waarbij de verspilling minimaal is.

Fase 1. Bepaal opties voor optimaal pijpsnijden.

Snijmogelijkheden 1 2 3 4 5 6 7 8 9 10 11 12 13
310 3 2 2 2 2 1 1 1 1 0 0 0 0
150 0 3 2 1 0 3 2 1 0 3 2 1 0
130 1 0 1 2 3 2 3 4 5 4 5 7 8
Restjes 10 0 20 40 60 50 70 90 110 100 120 10 30

Fase 2.
Laten we een economisch en wiskundig model van het probleem creëren. Laten we met x j het aantal pijpen aangeven dat moet worden doorgesneden met behulp van een van de methoden j. De objectieve functie komt neer op het vinden van de minimale verspilling bij het snijden:
10x 1 + 20x 3 + 40x 4 + 60x 5 + 50x 6 + 70x 7 + 90x 8 + 110x 9 + 100x 10 + 120x 11 + 10x 12 + 30x 13 → min

x 1 + x 3 + x 4 + x 5 + x 6 + x 7 + x 8 + x 9 + x 10 + x 11 + x 12 + x 13 = 69

Antwoord: het is noodzakelijk om alleen de tweede snijoptie te gebruiken (zero waste)

Economisch lineair snijden van materialen (snijlijsten) is relevant voor veel industrieën en in de bouw. Dit is het zagen van boomstammen en planken in de houtbewerking, het zagen van staven, wapeningsstaven, hoeken, kanalen, buizen, I-balken in plano's...

Bij de productie van metalen constructies en machinebouw, het dwarssnijden van rollen papier en stof in de pulp- en lichte industrie.

Ondanks de schijnbare eenvoud is het oplossen van lineaire snijproblemen geen gemakkelijke taak, maar wel de moeite waard. De introductie van een wetenschappelijke benadering bij het snijden van gegoten materialen kan de kosten soms met meer dan 10% verlagen! Lees het artikel tot het einde en zorg ervoor dat deze woorden correct zijn.

Het besproken onderwerp heeft betrekking op de taken lineaire programmering. Om dergelijke problemen op te lossen hebben wetenschappers de afgelopen zeventig jaar verschillende methoden bedacht.

Indexmethode L.V. Kantorovich en V.A. Zalgallera met een bepaalde vaardigheid stelt je in staat om "handmatig" te gebruiken zonder te gebruiken computertechnologie Voer effectief lineair snijden uit. Ik raad nieuwsgierige lezers aan zich vertrouwd te maken met deze methode door het boek van de bovengenoemde auteurs, “Rational Cutting of Industrial Materials”, te lezen.

Simplexmethode gebaseerd op de ideeën van L.V. Kantorovich werd halverwege de 20e eeuw in detail beschreven en ontwikkeld door een aantal wetenschappers uit de VS. De MS Excel-invoegtoepassing “Solver” gebruikt dit algoritme. Het is met deze methode datExcelIn dit artikel zullen we het probleem van lineair snijden oplossen.

Later verschenen en werden genetische, hebzuchtige en mierenalgoritmen ontwikkeld. We zullen ons echter beperken tot het opsommen ervan en aan de slag gaan zonder in de jungle van theorieën te duiken (hoewel het daar, ‘in de wildernis’, heel interessant is).

Laten we Excel inschakelen en eenvoudig voorbeeld door metalen staven in delen te snijden, zullen we kennis maken met een van de manieren om praktische problemen van lineair snijden op te lossen. Wiskundigen noemen dit probleem vaak het ‘snijprobleem’.

Ik heb de initiële gegevens voor het voorbeeld niet verzonnen, maar heb deze overgenomen uit het artikel van M.A. Pokrovsky. “Het minimaliseren van onvermijdelijke verliezen aan materialen in industriële productie wanneer ze in losse stukken worden gesneden”, gepubliceerd in nr. 5 (mei 2015) van het elektronische wetenschappelijke en technische tijdschrift “Engineering Bulletin”, uitgegeven door de Federal State Budgetary Educational Institution of Higher Professional Education, “MSTU vernoemd naar. N.E. Bauman" (link:Engels. bmstu. Ru/ doc/775784. html).

Het doel dat ik nastreefde was om de resultaten van het oplossen van het probleem te vergelijken.

Een voorbeeld van het oplossen van een lineair snijprobleem in MS Excel.

Laten we het erover eens zijn dat:

1. Blanks zijn het uitgangsmateriaal in de vorm van staven, strips, staven, enz. dezelfde lengte.

2. Onderdelen zijn elementen die moeten worden verkregen door de originele werkstukken in stukken te snijden.

3. Er wordt aangenomen dat de breedte van de zaag, snede en snede nul is.

Probleemtoestand:

Om een ​​van de bestellingen te voltooien, moet de inkoopafdeling een gecombineerde schaar gebruiken om drie standaardmaten onderdelen te snijden uit identieke onbewerkte staven van 1500 mm lang:

151 stuks 330 mm lang

206 stuks 270 mm lang

163 stuks 190 mm lang

Het is vereist om het optimale snijplan te vinden dat een minimale hoeveelheid materiaal gebruikt en bijgevolg een minimale hoeveelheid afval produceert.

Initiële gegevens:

1. Lengte van de originele blanco's LH in millimeters schrijven we in de gecombineerde cel

D3E3F3: 1500

2. Nummers toekennen i alle standaardmaten van onderdelen, beginnend van de langste tot de kortste in de cellen

D4; E4; F4: 1; 2; 3

3. Lengtes van onderdelen LDi in millimeters schrijven we in

D5; E5; F5: 330; 270; 190

4. Aantal onderdelen NDi in stukjes komen we binnen

D6; E6; F6: 151; 206; 163

5. Laten we tot zeer overgaan belangrijke fase– het invullen van snijopties.

Moet onthouden en begrepen worden 2 principes om dit werk te doen.

1. De lengte van het afval moet kleiner zijn dan het kleinste deel ( 0< Lo j < LDmin ).

2. We beginnen onderdelen te “stapelen” tot een werkstuk met de grootste onderdelen en het grootste aantal, waarbij we consequent in de richting van reductie gaan.

Als er geen standaardgrootte van onderdelen in de snijoptie zit, laten we de cel leeg, we schrijven geen nul om de visuele perceptie van de tafel te vergemakkelijken.

Snijoptie nr. 1:

Proberen om 5 delen nr. 1 uit één blanco te knippen is onmogelijk, dus schrijven we in de cel

Het is ook onmogelijk om deel nr. 2 of deel nr. 3 aan het uitknipsel toe te voegen, dus laten we de cellen leeg

Snijoptie nr. 2:

Verlaag met 1 vanaf vorige versie aantal delen nr. 1 en noteren

We proberen twee delen nr. 2 toe te voegen - het werkt niet, dus voegen we toe

Het blijft mogelijk om het stekje aan te vullen met onderdeel nr. 3. Wij hebben het erin gezet

Met inachtneming van de genoemde principes vullen we in dit geval naar analogie alle 18 mogelijke snijopties in.

Nadat u zelf een paar tabellen met snijopties heeft gemaakt, begrijpt u de logica van de acties en besteedt u een paar minuten aan dit werk.

Als het eerste principe tijdens het snijden niet wordt gevolgd, wordt de cel met de afvallengte automatisch rood geverfd. Voorwaardelijke opmaak toegepast op de cellen G7...G24 zal u duidelijk helpen bij dit werk.

We schrijven niets in de cellen H7...H24! Ze worden gebruikt om het resultaat van de oplossing weer te geven!

Voorbereiden op de oplossing:

* In de cellen G7...G24 wordt de lengte van het afval (sneden) dat overblijft als gevolg van het snijden berekend met behulp van de formule

Lo j = L z —Σ (LDi * NDij )

6. Het aantal onderdelen van elk standaardformaat, vervaardigd met alle toegepaste snijopties, wordt berekend in de cellen D26, E26 en F26 met behulp van de formule

NDiberekening = Σ (NDij * NHJ )

Het aantal onderdelen in het snijplan aan het einde van de oplossing moet volledig overeenkomen met het opgegeven aantal onderdelen!

7. Het vereiste aantal werkstukken om het optimale zaagplan te voltooien, wordt bepaald in de gecombineerde cel D27E27F27 met behulp van de formule

N z berekening =ΣN HJ

8. De totale lengte van alle plano's die nodig zijn om lineair snijden van alle onderdelen uit te voeren, wordt berekend in de gecombineerde cel D28E28F28 met behulp van de formule

LH Σ = L z*Nz bereken.

9. De totale lengte van al het afval dat wordt verkregen bij het uitvoeren van het gevonden kapplan wordt berekend in de gecombineerde cel D29E29F29 volgens de formule

LO Σ = Σ (LOJ * NHJ )

10. Het aandeel afval dat wordt verkregen bij het uitvoeren van het optimale lineaire zaagplan uit de totale hoeveelheid gebruikt materiaal wordt berekend in de gecombineerde cel D30E30F30 met behulp van de formule

Ωo = Lo Σ /Lз Σ

Oplossing:

De voorbereiding is voltooid, 18 opties voor het meest optimale snijden van één werkstuk in delen zijn geïdentificeerd en alle benodigde formules zijn ingevoerd. Nu moet de hoofdtaak nog worden opgelost: bepalen optimaal snijplan - hoeveel plano's en welke snijopties er moeten worden gesneden om uiteindelijk alle benodigde onderdelen in de benodigde hoeveelheid te verkrijgen met een minimum aan verspilling.

1. Selecteer in het hoofdmenu “Service” - “Zoeken naar een oplossing...”.

2. In het gelijknamige venster “Zoeken naar een oplossing” dat verschijnt, maken we de instellingen.

2.1. Wijs de doelfunctie toe aan de totale lengte van het afval Lo Σ en voer de link in het doelcelvenster in.

2.2. Zet de schakelaar “Gelijk:” in de stand “minimumwaarde”.

2.3. Cellen met variabelen specificeren Nз j in het venster Cellen wijzigen.

2.4. We voeren beperkingen in in het gelijknamige venster. Als voorwaarden geven we de noodzaak aan van gelijkheid van het gegevene NÓ ik en berekend Nd icalc aantal onderdelen, evenals variabelen Nз j– het geschatte aantal blanco's volgens de snijopties – we leggen een beperking op: dit moeten gehele getallen zijn.

3. Klik op de knop "Opties" en voer in het venster "Opties voor zoeken naar oplossingen" dat verschijnt de instellingen uit zoals weergegeven in de volgende schermafbeelding. Sluit het venster met de knop “OK”.

4. Klik in het venster 'Zoeken naar een oplossing' op de knop 'Uitvoeren' en wacht tot Excel een oplossing heeft gevonden. Dit kan enkele minuten duren.

5. Nadat u de gevonden oplossing heeft opgeslagen met de knop “OK”, worden de resultaten weergegeven in de cellen H7...H24 op het Excel-werkblad.

De volgende afbeelding toont het gevonden optimale lineaire zaagplan.

Wat is het resultaat?

Lineair insnijden Excel-spaties voor taken die vergelijkbaar zijn met de taken die in dit artikel worden besproken, wordt deze uitgevoerd met behulp van de hierboven beschreven methode in 10-15 minuten! “Handmatig”, zonder de methode van Kantorovich-indexen te kennen, zul je in zo'n tijd geen oplossing vinden.

Nadat we meerdere keren “Zoeken naar een oplossing” hadden gelanceerd met verschillende zoekparameters, konden we 5 verschillende snijplannen vinden. Alle 5 de plannen vereisen hetzelfde nummer blanco's - 93 en produceren afval van slechts 2,21%!!! Deze plannen zijn bijna 6% beter dan het door Pokrovsky berekende plan en ruim 10% zuiniger dan het “Traditionele” plan (zie de link naar de bron in het eerste deel van het artikel). Een zeer waardig resultaat werd snel en zonder het gebruik van dure programma's bereikt.

Opgemerkt moet worden dat Excel-invoegtoepassing Oplosser (“Zoeken naar een oplossing”), die de simplex-methode gebruikt om lineaire programmeerproblemen op te lossen, kan met niet meer dan 200 variabelen werken. Wanneer toegepast op het lineaire snijprobleem dat we hebben overwogen, betekent dit dat het aantal stekken niet groter kan zijn dan 200 opties. Voor eenvoudige taken is dit voldoende. Voor complexere problemen kun je het beste een “mix” van een “hebzuchtig” algoritme proberen te gebruiken simplex methode Oplosser, selecteren uit volledige lijst stekken niet meer dan 200 van de meest economische. Vervolgens slaan we geduld op en boeken we resultaten. Je kunt proberen een complex probleem op te splitsen in verschillende eenvoudige problemen, maar het ‘optimaliteitsniveau’ van de gevonden oplossing zal hoogstwaarschijnlijk lager zijn.

Misschien is de overwogen optie voor het oplossen van problemen met lineair snijden niet ‘kunstvliegen’, maar het is zeker een stap voorwaarts vergeleken met de ‘traditionele’ aanpak in veel industrieën.

Het gebruik van de MS Excel add-in “Zoeken naar een oplossing” (Solver) is al een keer besproken op de blog in een artikel. Ik denk dat dit prachtige hulpmiddel de aandacht verdient en je keer op keer zal helpen op een elegante en snelle manier een aantal nieuwe, niet-triviale problemen op te lossen.

P.S. Links naar de beste gratis lineaire snijprogramma's die ik op internet heb gevonden:

http://stroymaterial-buy.ru/raschet/70-raskroy-lineynih-izdeliy.html

http://forum-okna.ru/index.php?app=core&module=attach§ion=attach &attach_id=7508

http://forum.dwg.ru/attachment.php?attachmentid=114501&d=13823277 74

http://www.planetcalc.ru/917/

De programma's in de laatste twee links implementeren hebzuchtige heuristieken en voeren lineair uit in het probleem uit het artikel, waarbij maar liefst 103 werkstukken worden gebruikt. Het gebruik van hebzuchtige algoritmen is gerechtvaardigd in gevallen waarin het noodzakelijk is de totale tijd van de snijbewerking te verkorten wanneer de grote hoeveelheden opties snijden in meer optimale plannen.

Onder het artikel in het blok “Reviews” kunt u uw opmerkingen schrijven, beste lezers.

Programma voor het optimaal snijden van lineaire plano's in onderdelen

Gebruikershandleiding

Tsjerkassy, ​​2003

1. Inleiding 3

2. Termen en definities 3

3. Beperkingen van de proefversie 4

4. Hoofdvorm programma 5

5. Programmaparameters instellen 6

5.1.

5.2.

Maaibreedte 7

5.3.

Minimale lengte van gemarkeerd residu 7

5.4.

Naam van de meeteenheden 7

5.5.

Rekenniveau 7

6. Voorbereiding van gegevens voor berekening 8

7. Materiaalmagazijn 9

8. Voer berekening 10 uit

9. Snijresultaten 10

9.1.

Residu-etikettering 12

9.2.

Stekken uit de huidige sessie herstellen 13

10. Klembord 13

11. Bijlage 14 1. Inleiding Het programma is ontworpen voor het optimaal snijden van lineaire werkstukken in lineaire secties van verschillende lengtes en kan worden gebruikt in de houtbewerkings- en pulp- en papierindustrie, metaalbewerking, kledingproductie, enz.

Het programma is gebaseerd op een uniek hogesnelheidsalgoritme waarmee u snel kunt zagen en een minimaal percentage afval op lineaire werkstukken kunt realiseren.

    Bij het ontwikkelen van het algoritmische deel van het programma was het belangrijkste criterium het principe van afvalminimalisatie, en bij het ontwikkelen van het interfacedeel probeerde de auteur het programma eenvoudig en gebruiksvriendelijk te maken.

    Het programma werkt onder Windows 9x/NT/2000/XP, vereist geen installatie en neemt ongeveer 3 MB schijfruimte in beslag. Speciale eisen voor hardware

    het programma niet.

    Cutting Line-werktuigen:

    het specificeren van een willekeurig aantal plano's en onderdelen voor snijden;

    oefening

    verschillende modi

programma werking;

toewijzing van maximaal 16 soorten materiaal; etikettering van residuen;

het onderhouden van een magazijn met materialen en reststoffen;

berekening van het totale oppervlak van onderdelen, snedelengte, residugebieden, enz.;

het opslaan en herstellen van gespecificeerde blanco's en onderdelen als specificaties Oekraïne, Cherkassy, ​​tel. (+380 472) 420998

E-mail: George@

Startpagina: 2. Termen en definities

Blanks, bronmateriaal- materiaal dat moet worden gesneden.

Detail- deel van het werkstuk dat moet worden gesneden.

Materiaal– naam en kleur van het materiaal van werkstukken of onderdelen.

Specificatie– verzamelde benoemde (bestandsnaam) informatie over blanco's en onderdelen.

Ontdekken

    – het resultaat van het programma. Rest decimalen en levert resultaten op met afmetingen die rekening houden met dit aantal decimalen. Bijvoorbeeld. Laat alle afmetingen van werkstukken en onderdelen gehele getallen zijn en de breedte van het snijgedeelte is ingesteld op 4,5. Bij het uitgeven van snijresultaten (diagrammen, afdrukken, etc.) worden ALLE formaten die een niet-gehele weergave mogelijk maken, met één decimaal weergegeven.

    Het programma onthoudt altijd het laatst ingevoerde materiaal (naam, kleur) en biedt de volgende keer dat u het materiaal invoert precies dit materiaal aan.

3. Beperkingen van de proefversie

De proefversie heeft de volgende beperkingen:

    het is toegestaan ​​om niet meer dan 3 rijen in de tabel met blanco's aan te maken, waarbij het aantal blanco's van elk standaardformaat niet groter is dan 3;

    het is toegestaan ​​om niet meer dan 10 rijen in de onderdelentabel aan te maken, waarbij het aantal onderdelen van elke standaardmaat niet meer dan 10 is;

    het aantal programmalanceringen is beperkt tot 30.

Om deze beperkingen op te heffen, moet het programma worden geregistreerd (overgezet naar de bedrijfsmodus). Registratie betekent het installeren van een werkende versie van het programma op 1 computer.

Om een ​​programma te registreren, moet u contact opnemen met de auteur van het programma of zijn vertegenwoordigers.

4. Hoofdvorm van het programma

Wanneer het programma start, verschijnt het formulier dat in de afbeelding wordt weergegeven.

De hoofdvorm van het programma bestaat uit verschillende secties. Bovenaan bevindt zich een menubalk, waarvan de items verschillende bedieningsmodi van het programma bieden.

Hieronder ziet u een paneel met knoppen die de hoofdfuncties van het hoofdmenu gedeeltelijk dupliceren.

Het paneel toont de volgende knoppen:

Wanneer u op deze knop klikt, verschijnt het volgende formulier:

Sommige van deze knoppen zijn mogelijk niet beschikbaar, afhankelijk van de bedieningsmodus van het programma.

Onder het knoppenpaneel bevinden zich twee rastertabellen waarin informatie wordt opgegeven over de plano's en onderdelen die worden gesneden (zie hieronder).

Onder de tabellen bevindt zich een indicatorpaneel voor de voortgang van de berekeningen, dat schematisch de dynamiek van de voortgang van de berekeningen weergeeft.

Onderaan het venster bevinden zich 2 informatiepanelen. Het linkerpaneel geeft informatie over huidige modus werk, en aan de rechterkant - de huidige rekentijd.

U kunt rijen in tabellen sorteren door op de tabelkoppen Materiaal, Lengte en Aantal te klikken.

De gebruiker kan het formaat van de venster- en rastertabellen wijzigen. Alle wijzigingen worden automatisch geregistreerd en hersteld de volgende keer dat het programma wordt gestart.

5. Programmaparameters configureren

Om de berekeningsparameters in te stellen, klikt u op de knop of activeert u het menu-item van het hoofdformulier “Instellingen”. Er verschijnt een venster met programma-instellingen. In dit venster kunt u het volgende wijzigen (instellen):

    naam van de gebruikte materialen;

    breedte van het snijgedeelte;

    de minimale lengte van het gemarkeerde residu;

    naam van de meeteenheden;

    rekenniveau.

5.1. Stofnaam

In de tabel staan ​​16 materiaalsoorten (naam en kleur) waarmee het programma werkt. U kunt voor elk materiaal uw eigen naam instellen door de gewenste naam in te voeren de gewenste lijn tafels.

5.2. Maaibreedte

In het venster van deze parameter moet de gebruiker de breedte invoeren van het snijgedeelte van de machine of het gereedschap dat wordt gebruikt om het materiaal te snijden.
Deze waarde beïnvloedt de juistheid van het snijden.

5.3. Minimale lengte van gemarkeerd residu

De waarde van het door de gebruiker te markeren saldo wordt gespecificeerd. Als de gebruiker een saldo kleiner dan deze waarde probeert te markeren, wordt de markering niet voltooid.

5.4. Naam van meeteenheden

De naam van de maateenheden wordt gespecificeerd (mm, cm, inch, enz.).

De naam van de meeteenheden wordt weergegeven op snijdiagrammen, rapporten, enz.

5.5. Berekeningsniveau

Onder het rekenniveau wordt verstaan ​​het aantal elementaire iteratieve rekencycli voor één werkstuk (tijdkwantum). Wanneer de complexiteit van de berekening wordt verminderd, wordt het snijden sneller uitgevoerd, maar kan de kwaliteit van de berekening slechter zijn.

De snijkwaliteit heeft betrekking op de hoeveelheid afval (in procenten) op de snijplano's.

Met Cutting Line kunt u een van de drie berekeningsniveaus selecteren.

    Eenvoudig.

    Het programma maakt vrij snel berekeningen, maar de snijkwaliteit zal de gebruiker mogelijk niet tevreden stellen. Aanbevolen voor schattingsberekeningen. Personeel . De belangrijkste parameter van het berekeningsniveau.

    Mits optimale verhoudingen

snijsnelheid en kwaliteitsparameters.

Moeilijk

Om de berekening uit te voeren, moet de gebruiker informatie over de werkstukken en snijdetails opgeven. Het snijden wordt uitgevoerd voor plano's en delen van hetzelfde materiaal.

De belangrijkste parameters van blanco's en onderdelen worden gespecificeerd in 2 tabellen van de hoofdvorm van het programma. De linkertabel specificeert informatie over blanco's (bronmateriaal) en de rechtertabel specificeert informatie over onderdelen.

Voor beide tabellen is het volgende gespecificeerd:

    materiaal;

  • hoeveelheid;

    opmerking (vrije tekstinformatie).

Voor beide tabellen wordt het materiaal geselecteerd uit een vervolgkeuzelijst die verschijnt als u op de gewenste regel klikt.

Afmetingen worden gespecificeerd in de kolom "Lengte", het aantal plano's of onderdelen wordt gespecificeerd in de kolom "Aantal". Alle informatie kan worden ingevoerd in de kolom "Opmerking".

In Cutting Line kunt u op twee manieren werkstukinformatie invoeren.

Methode nr. 1 omvat het rechtstreeks invoeren van gegevens in de blanco tabel.

Met methode nr. 2 kunt u gegevens vanuit het magazijn in de tabel met blanco's laden (zie paragraaf 7.).

Voor beide tabellen selecteert u een groep rijen ( donkere achtergrond de meest linkse kolom van de tabel) doet u door de muisaanwijzer met de rechterknop ingedrukt over de meest linkse kolom van de tabel te bewegen.

Voor beide tabellen kunt u door op te klikken een extra vervolgkeuzemenu activeren rechter knop muizen.

Aandacht. Alle wijzigingen die op commando plaatsvinden contextmenu, handel op alle geselecteerde rijen van de overeenkomstige tabel.

Gemeenschappelijke menu-items voor beide tabellen zijn:

    Duidelijke tafel- alle informatie uit de bijbehorende tabel wordt vernietigd.

    Verwijder gemarkeerde lijnen

    Kopiëren naar klembord– de geselecteerde regels worden naar het klembord gekopieerd (zie punt 10).

    Toevoegen vanaf klembord- gegevens van het klembord worden toegevoegd aan het einde van de overeenkomstige tabel.

Voor de blanco tabel zijn 2 menu-items toegevoegd:

    Verwijder gesneden stukken- de uitgesneden spaties (in de laatste berekening) worden verwijderd.

    Materiaal overbrengen naar magazijn- de geselecteerde materiaalregels worden overgebracht naar het magazijn.

Aandacht. Gegevens uit de tabellen worden automatisch opgeslagen na voltooiing van het programma en hersteld de volgende keer dat het wordt gestart.


7. Materiaalmagazijn

Het Cutting Line-programma implementeert een virtueel magazijn met materialen. Hiermee kan de gebruiker informatie invoeren over het materiaal dat in het magazijn arriveert, werken met opgeslagen restjes, de boekhouding controleren en restjes gebruiken bij volgende stekken, waardoor het percentage afval aanzienlijk wordt verminderd.

Wanneer u op de knop drukt hoofdvorm programma of door het menu-item "Bestand" - "Materiaalmagazijn" te selecteren, verschijnt het formulier "Materiaalmagazijn".

Aan de rechterkant van het formulier staan ​​16 soorten materiaal, en in de linkertabel wordt informatie weergegeven over blanco's en saldi, afhankelijk van het geselecteerde materiaal.

Navigeren door het materiaal aan de linkerkant van het formulier (materiaalselectie) gebeurt door de muisaanwijzer naar het gewenste materiaal te verplaatsen.

Gegevens kunnen op dezelfde manier in de tabel worden ingevoerd als bij het maken van spaties voor snijden. Deze modus kan worden gebruikt bij het registreren van nieuw ontvangen werkstukken in het magazijn.

Daarnaast kan de tabel op nog twee manieren worden ingevuld.

Bovenaan de tabel staan ​​knoppen:

Het selecteren van een groep rijen (de donkere achtergrond van de meest linkse kolom van de tabel) gebeurt door de muisaanwijzer met ingedrukte rechterknop over de meest linkse kolom van de tabel te bewegen.

Om discreet een groep lijnen te selecteren bij het bewegen van de muis, moet u ook op de “Ctrl”-toets drukken.

Voor een magazijntafel kunt u door met de rechtermuisknop te klikken een extra vervolgkeuzemenu activeren.

De volgende menu-items zijn beschikbaar:

    Verwijder alle spaties van het geselecteerde materiaal- alle plano's/resten van het geselecteerde materiaal worden vernietigd.

    Verwijder gemarkeerde lijnen- geselecteerde regels worden verwijderd.

    Geselecteerd materiaal afdrukken- afdrukken van informatie over het materiaal/resten van het geselecteerde materiaal.

    Kopiëren naar klembord– de geselecteerde regels worden naar het klembord gekopieerd.

    Toevoegen vanaf klembord- gegevens van het klembord worden aan het einde van de tabel toegevoegd.

8. Berekening uitvoeren

Nadat de benodigde gegevens over de werkstukken en onderdelen in de tabellen zijn ingevoerd, zijn de vereiste berekeningsinstellingen ingesteld en kunt u het programma uitvoeren om de snede te berekenen. Om de berekening uit te voeren, gebruikt u de knop aan de linkerkant bovenste hoek hoofdvorm van het programma of druk op de “F9”-toets op het toetsenbord.

De dynamiek van de berekening wordt op de indicator weergegeven in de vorm van een bewegende balk onder de tabellen met blanco's en onderdelen. Om de berekening te stoppen, klikt u op de knop.

De huidige berekeningstijd wordt weergegeven aan de rechterkant van de statusbalk.

Aandacht. Tijdens het uitvoeren van de berekening kunt u het programma niet verlaten. U moet de berekening stoppen met de knop en vervolgens het programma verlaten.

9. Snijresultaten

De snijresultaten worden automatisch weergegeven nadat de berekening is voltooid.

U kunt de resultaten van de laatste snede bekijken met behulp van de knop of het item "Snijresultaten" in het menu "Bestand", of door op de toets "F3" te drukken in het hoofdformulier van het programma.

Wanneer u de snijweergave activeert, verschijnt er een formulier met snijdiagrammen.

Het formulier bestaat uit drie panelen.

Het bovenste paneel is een paneel met bedieningsknoppen en vensters voor de koptekst van het rapport over de snijresultaten.

Het paneel bevat de volgende knoppen:

Hieronder ziet u een venster met snijresultaten.

Hier kunt u de plano's zien met de onderdelen erop en informatie over elke uitgesneden plano.

Helemaal onderaan het venster bevindt zich een informatiepaneel.

Wanneer u met uw muis over een onderdeel of restant beweegt, worden het onderdeelnummer, de maat en de opmerking voor onderdelen of de maat voor een restant weergegeven.

9.1. Residumarkering

Met het programma kunt u restjes selecteren en deze bijhouden voor gebruik bij volgende stekken. Het identificeren van residuen op uitgesneden stukken met het doel deze naar het magazijn te verplaatsen, wordt markering van residuen genoemd.

Markeren gebeurt door simpelweg met de linkermuisknop op te klikken vrije ruimte gesneden werkstuk.

In dit geval wordt de rest gemarkeerd met de letter “O”. Als u nogmaals op het geselecteerde residu klikt, wordt het vernietigd.

Ontdekken

1. Alleen resten die groter zijn dan die gespecificeerd in het veld “Minimumlengte van gemarkeerde resten” op het formulier “Instellingen” worden gemarkeerd.

2. Bij het markeren van restjes op werkstukken met een oplage van meer dan 1 worden de restjes ook gerepliceerd. Bij het vernietigen van resten op blanco's met meer dan 1 kopie worden de corresponderende resten op alle blanco's van deze kopie vernietigd.

3. De saldi worden net zo vaak opgeslagen als er op de knop “Bewaar alle saldi in het magazijn” wordt gedrukt!

9.2. Stekken uit de huidige sessie herstellen

Alle stekken huidige sessie werken worden automatisch opgeslagen en kunnen worden hersteld. Om de gewenste snede te herstellen, drukt u op de knop. Het volgende formulier verschijnt.

Hier kan de gebruiker de gewenste snede selecteren en op de knop “Herstellen” klikken. De opgeslagen snede wordt hersteld in het venster, zodat u de snijresultaten kunt bekijken.

Ontdekken

    Het herstellen van het snijden werkt alleen voor de huidige werksessie. Wanneer u het programma opnieuw start, begint het opslaan van stekken opnieuw.

    Bij het herstellen van het snijden verandert de tabel met plano's en onderdelen niet.

10. Klembord

Met behulp van het klembord van het programma kunt u gegevens uit materiaal-, onderdelen- en magazijntabellen in andere programma's importeren of vanuit andere programma's exporteren

programma's die het standaard Windows-klembord ondersteunen, zoals Excel, Word, enz. Deze bewerking kan handig zijn bij het voorbereiden van gegevens voor berekeningen in andere programma's of bij het repliceren van identieke tabelrijen.

U kunt informatie uit de materiaal-, onderdelen- en magazijntabellen naar het klembord kopiëren met behulp van de contextmenuopdracht van de overeenkomstige tabel “Kopiëren naar klembord”.

Aandacht. Informatie uit de gemarkeerde (geselecteerde) rijen van de tabel wordt naar het klembord gekopieerd.

U kunt informatie van het klembord toevoegen aan de materiaal-, onderdelen- en magazijntabellen met behulp van de contextmenuopdracht van de overeenkomstige tabel “Toevoegen vanaf klembord”

Aandacht. Informatie van het klembord wordt altijd aan het einde van de tabel toegevoegd.

Structuur van klembordinformatie voor inkoop-, onderdelen- en magazijntabellen:

    Naam van het materiaal. De naam van het materiaal moet strikt overeenkomen met de naam van het materiaal in de tabel “Naam van het materiaal” van het formulier “Instellingen”.

    Tab-teken.

    Lengte werkstuk/onderdeel.

    Tab-teken.

    Hoeveelheid.

    Tab-teken.

    Opmerking.

Voorbeelden van gegevenspresentatie op het klembord van materiaal- en magazijntabellen:

In Excel kunnen de gegevens op het klembord er bijvoorbeeld als volgt uitzien:

In een notitieblok kunnen de gegevens als volgt worden gepresenteerd:

Aandacht. Als er een fout optreedt bij het presenteren van gegevens op het klembord, wordt de optelbewerking niet uitgevoerd.

11.Bijlage

Hieronder staan ​​twee voorbeeldvormen van de snijresultaten. Met... op kinderen op gedurende het hele pedagogische proces. Moeilijkheden bij het leren kinderen gepaard gaan met hogere eisen programma's ... kinderen; opleiding op optimaal ...

  • Managementleerboek St. Petersburg uitgeverij "Sojoez"

    Leerboek

    ... op vooruitzichten voor de ontwikkeling van de onderneming. Op winkelmanagementniveau lineair beheer primair georiënteerd op ... blanco's B. Het totaal is 300 blanco's A en 1400 blanco's B. Waar zijn 100 verdwenen? blanco's B? Wanneer immers optimaal ...

  • Economie van de industrie

    Document

    ... Op machinebouwbedrijven optimaal... knooppunten en details(bussen... programma's, plannen. basis lineair- ... landbouw - Snijden, snijden... voor productie blanco's is het meest... Methodologisch beheer deze... Federatie. Door gebruikers voorwerpen...

  • Leerboek Uitgeverij TPU Tomsk 2003

    Document

    ... blanco's op machinale precisieproductie details op... kaarten snijden blanco's (... door gebruikers. ... optimaal voor een bepaald gebied van het macroprogramma-oppervlak. De controle wordt op deze manier verkregen programma...regio's lineair en contour... worden begeleid ...

  • Algoritme voor het optimaal snijden van materialen voor geautomatiseerde productie

    Pavel Boenakov

    Het probleem van het rationeel snijden van plaatmateriaal in aanvankelijke rechthoekige plano's is van groot belang. praktische betekenis bij het ontwerpen van kastmeubelproducten. Door zijn aard is het een probleem met een discrete-continue structuur, behorend tot de klasse van zogenaamde NP-volledige problemen, waarvan het vinden van een exacte oplossing alleen mogelijk is door een volledige zoektocht naar alle mogelijke opties.

    De wiskundige formulering van het probleem bestaat uit het plaatsen van platte geometrische objecten (initiële set blanco's) op vellen gegeven afmetingen(bladen op volledige grootte) met minimale materiaalverspilling en boekhouding bestaande beperkingen. Beperkingen van het eerste type – geometrisch – zijn klassiek en worden bepaald door de omstandigheden van de werkstukken die tot het plaatsingsgebied behoren, hun onderlinge niet-doorsnijding, evenals de isotrope of anisotrope aard van de plaatsingsomgeving (de aanwezigheid of afwezigheid van een richtingspatroon op het oppervlak van objecten - texturen).

    De voorwaarden voor geautomatiseerde productie breiden deze lijst uit met beperkingen van het tweede type: technologisch, die worden bepaald door de kenmerken van snijapparatuur en organisatorische en technologische kenmerken van de productie:

    • maximale en minimale breedte van de gesneden strook;
    • de noodzaak en omvang van het voorlopig bijsnijden van de rand van het vel;
    • hulpmiddel voor continue werking van het snijgereedschap;
    • breedte van het snijgedeelte van het gereedschap;
    • maximale lengte van de doorsnede;
    • vector van de eerste sneden (longitudinaal of transversaal snijden);
    • aantal gelijktijdig gesneden vellen (verpakkingsgrootte);
    • maximaal aantal pakketbeurten;
    • minimale afstand tussen zagen in multi-ripmachines;
    • richting van het leggen van plano's op het vel;
    • operationele toeslagen aan de zijkant van het werkstuk voor latere verwerking.

    Zoals je kunt zien, overschrijden de kwantitatieve technologische beperkingen aanzienlijk de geometrische beperkingen. Bovendien kunnen ze sterk variëren, afhankelijk van de specifieke kenmerken van een bepaalde onderneming.

    Automatisering van de productie verandert ook het concept van optimaal snijden, waardoor de eis van maakbaarheid van snijkaarten op de voorgrond komt te staan. In tegenstelling tot de strikt wiskundige beschrijving van het criterium voor het minimaliseren van materiaalverspilling tijdens het snijden

    Waar Si- vierkant i Bij het wegsnijden van materiaal zijn de technologische optimalisatiecriteria talrijk en vaak empirisch van aard. Over het algemeen kunnen ze worden verenigd door het concept van ‘arbeidsintensiteit van de fysieke implementatie van snijden’, dat parameters omvat zoals het totale aantal en de totale lengte van de uitgevoerde sneden, het aantal snijkaarten, het aantal rotaties van de platenpakket en herinstallatie van eindaanslagen op de machine, en de geometrische parameters van de resulterende restjes.

    De structuur van de consumentenvraag in de moderne meubelmarkt wordt bepaald door het verlangen naar individualiteit (exclusiviteit) van producten, wat leidt tot een kwalitatieve en kwantitatieve complicatie van hun ontwerp. Het is duidelijk dat onder dergelijke omstandigheden, met een groot aantal elementen, complexe procedures voor het verwerken van geometrische informatie vereist zullen zijn. Zelfs als krachtige computers worden gebruikt, zal de tijd die nodig is om dergelijke problemen op te lossen onaanvaardbaar zijn in echte productieomstandigheden. Daarom worden verschillende heuristische algoritmen gebruikt om ze op te lossen, waardoor binnen een acceptabele tijd een oplossing ontstaat die dicht bij de optimale ligt.

    Laten we eens kijken naar de werking van een algoritme gebaseerd op de overgang van oppervlaktesnijden naar lineair snijden, met elementen van heuristiek die experimenteel zijn verkregen.

    Zoals bekend heeft het probleem van optimaal lineair snijden een exacte wiskundige oplossing, waarvan de geometrische interpretatie wordt getoond in Fig. 1 voor het geval waarin de kracht van de initiële set blanco's twee is. De assen van het coördinatensysteem worden gemarkeerd in stappen die een veelvoud zijn van de standaardafmetingen van de werkstukken ( N En K), tot een waarde die de lineaire grootte van het plaatsingsgebied ( L). Zo wordt op het vlak een raster gegenereerd, waarvan elk knooppunt overeenkomt met een bepaalde snijoptie. Een segment dat punten op coördinaatassen verbindt waarvan de waarden gelijk zijn aan de grootte van het plaatsingsgebied, is de grens van een subset van knooppunten die overeenkomen echte opties snijden (bevindt zich onder de rand). Degene die zich het dichtst bij de grens bevindt, zal bepalen welke snijoptie optimaal is in termen van de hoeveelheid materiaalverspilling. Om het zoeken te versnellen, worden alleen die rastercellen in aanmerking genomen die worden doorsneden door het geconstrueerde segment (ze zijn gearceerd in figuur 1).

    Het enige optimalisatiecriterium voor lineair snijden is het minimaliseren van afval, daarom zijn de resulterende snijopties a priori technologisch geavanceerd.

    Naarmate het aantal standaardafmetingen van werkstukken toeneemt, wordt het vlak vervangen N-dimensionale ruimte, en een segment - N-dimensionaal vlak. Om snel te vinden optimale optie In dit geval vervangen we de taak van het vinden van het punt dat zich het dichtst bij een bepaald vlak bevindt N-dimensionale ruimte in twee eenvoudiger problemen:

    • het vinden van de optimale snijoptie in een tweedimensionale formulering, die elk overeenkomt met de projectie van een multidimensionaal raster op een van de coördinaatvlakken (het aantal van dergelijke problemen is gelijk aan C2N, Waar N- aantal standaardafmetingen werkstukken);
    • vinden minimaal element in de resulterende vector van oplossingen.

    Experimenten uitgevoerd met gegevens die overeenkomen met echte meubelproducten die bij een aantal bedrijven zijn geproduceerd, hebben aangetoond dat deze vervanging een acceptabele tijdelijke oplossing biedt S e indicatoren, en de afhankelijkheid van de rekentijd van het aantal standaardafmetingen van werkstukken is exponentieel van aard (Fig. 2).

    Op basis hiervan werd geconcludeerd dat het mogelijk is om over te gaan van vlaksnijden naar een superpositie van lineair snijden. Het bijbehorende algoritme is recursief en wordt in drie stappen geïmplementeerd.

    Bij de eerste stap vanaf de eerste set M er wordt een deelverzameling gevormd Mk(δ), waarbij werkstukken worden gecombineerd waarvan de belangrijkste lineaire afmeting binnen het bereik ligt

    Lmaximaal(1-δ),

    Waar Lmaximaal - maximale grootte werkstukken, 0 ≤ δ< 1 - допустимый разброс размеров. Под главным линейным размером понимается тот размер заготовки, который соответствует текущему направлению текстуры. При отсутствии или игнорировании направления текстуры он определяется как максимальное значение, выбранное из длины и ширины заготовки.

    De waarde die wordt verkregen bij het snijden van een CMM hangt af van de geselecteerde waarde van de coëfficiënt δ: KHEN= F(δ) . Theoretisch betekent dit de noodzaak om opties op te sommen voor het vormen van een subset Mk(δ) voor het gehele mogelijke bereik van δ-waarden. Dit zal onvermijdelijk leiden tot een onaanvaardbare toename van de snijtijd. Experimentele onderzoeken uitgevoerd bij een aantal meubelbedrijven hebben ons in staat gesteld drie conclusies te trekken (Fig. 3):

    • grootste veranderingen waarden F(δ) vallen in het bereik van 0,05 ≤ d ≤ 0,2;
    • binnen de opgegeven bereikwijzigingsfunctie F(δ) is glad;
    • bij een waarde van δ > 0,2 is de waarde van de CMM vrijwel onafhankelijk van de verdere toename ervan.

    Op basis van deze bevindingen, bij het vormen Mk(δ) er wordt een vast aantal δ-waarden genomen, waardoor het mogelijk is een acceptabele tijd te behalen voor het doorzoeken van snijopties. De praktijk heeft uitgewezen dat het zonder noemenswaardig verlies aan snijkwaliteit mogelijk is om de waarde van δ in het opgegeven bereik in stappen van 0,01 tot 0,2 te variëren.

    Bij de tweede stap worden blanco's uit de subset gebruikt Mk(δ) worden gesneden met behulp van een lineair snijalgoritme. Dit betekent dat ten eerste een stripsnijkaart wordt verkregen die lokaal optimaal is in termen van de CMM-waarde voor de geselecteerde waarde van δ, en ten tweede dat deze technologisch geavanceerd is. Procedure voor het vormen van een subset Mk(δ) en lineair snijden van de strip worden uitgevoerd voor alle waarden van δ, waarna de optimale snijkaart wordt geselecteerd, die overeenkomt met de optimale subset M opt k.

    De rest van het materiaal in de strip zorgt voor een optimale snijkaart, evenals de overblijfselen ervan bij het plaatsen van een element van de subset M opt k, overeenkomend met de waarde δ ≠ 0, vormt een reeks pseudo-bladen op volledige grootte. Voor elk element van deze set worden de bovenstaande bewerkingen recursief herhaald. Dit betekent dat bij het uitvoeren van elk paar stappen de kracht van de initiële set werkstukken niet alleen afneemt vanaf de zijkant van de "grotere" elementen, maar ook vanaf de kant van de "kleinere" elementen.

    Nadat alle pseudo-volledige vellen zijn uitgesneden, wordt de kardinaliteit van de set gecontroleerd

    M \ M opt k \ M ik k,

    Waar M ik k- een subset van plano's die op de overblijfselen van het tijdens de vorming verkregen materiaal worden geplaatst k e strepen. Als het een waarde heeft die niet nul is, worden de bovenstaande stappen opnieuw uitgevoerd met betrekking tot de opgegeven set, dat wil zeggen dat er een subset wordt gevormd Mk-1(δ), waaruit men selecteert Mk+1 opt.

    Als resultaat van het uitvoeren van deze bewerkingen worden dus veel strepen verkregen S, waarop alle initiële werkstukken optimaal zijn geplaatst: .

    Bij de derde stap, de elementen van de set S worden beschouwd als initiële plano's voor het lineair snijden van vellen op volledige grootte.

    Het bovenstaande algoritme reduceert het probleem van vlaksnijden tot de sequentiële oplossing van lineaire snijproblemen. De fysieke implementatie van de resulterende kaarten is optimaal voor geautomatiseerde productie, omdat het snijden van zowel vellen van volledige grootte in reepjes als blanco's in reepjes technologisch geavanceerd is.

    Voor een vergelijkende beoordeling van de CMM-waarden verkregen met behulp van het traditionele algoritme voor oppervlaktesnijden en het voorgestelde algoritme, willekeurig monster uit 50 meubelensembles geproduceerd door verschillende bedrijven. Voor elk ensemble zijn twee snijopties gemaakt. De resultaten van het experiment worden gepresenteerd in Fig. 4. Hieruit blijkt dat het voorgestelde algoritme (rode grafiek) in de meeste gevallen een grotere CMM-waarde oplevert. Het snijden van gebiedsmaterialen volgens het beschouwde algoritme is dus niet alleen geschikt voor zaagcentra, maar ook voor conventionele formaatsnijmachines.

    Om de maakbaarheid van snijkaarten verder te verbeteren, kan per strook een sorteerbewerking worden uitgevoerd. Als u bijvoorbeeld werkstukken sorteert door de lineaire afmetingen te vergroten vanaf de rand van een vel van volledige grootte, kunt u speling elimineren bij het installeren van machinestops op nieuwe maat, wat de snijnauwkeurigheid aanzienlijk verhoogt. Hetzelfde sorteeralgoritme, maar uitgevoerd vanuit het midden van de plaat, maakt het mogelijk om de vorm van de werkstukken maximaal te behouden door de invloed van interne spanningen te minimaliseren, waarvan het maximale verschil optreedt aan de randen van de plaat.