CN112016757B - Reel material belt cutting method and system - Google Patents

Reel material belt cutting method and system Download PDF

Info

Publication number
CN112016757B
CN112016757B CN202010909817.6A CN202010909817A CN112016757B CN 112016757 B CN112016757 B CN 112016757B CN 202010909817 A CN202010909817 A CN 202010909817A CN 112016757 B CN112016757 B CN 112016757B
Authority
CN
China
Prior art keywords
cluster
cut
idx
tape
material belt
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.)
Active
Application number
CN202010909817.6A
Other languages
Chinese (zh)
Other versions
CN112016757A (en
Inventor
喻勇涛
孟光磊
齐义文
田丰
王传云
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.)
Shenyang Aerospace University
Original Assignee
Shenyang Aerospace University
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 Shenyang Aerospace University filed Critical Shenyang Aerospace University
Priority to CN202010909817.6A priority Critical patent/CN112016757B/en
Publication of CN112016757A publication Critical patent/CN112016757A/en
Application granted granted Critical
Publication of CN112016757B publication Critical patent/CN112016757B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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"
    • G06Q10/043Optimisation of two dimensional placement, e.g. cutting of clothes or wood

Landscapes

  • Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • Engineering & Computer Science (AREA)
  • Strategic Management (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Game Theory and Decision Science (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Development Economics (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Abstract

The invention discloses a reel material belt cutting method and a system, wherein the method comprises the following steps: defining reel material belt sequence information and setting parameters; calculating a target permutation and combination; determining an input material belt, and distributing an empty input material belt cutting scheme list; defining a current candidate result material belt and distributing a current cutting scheme and a current cutting scheme list; performing cutting scheme calculation, and cutting one or more cutting schemes of the result material belts from the input material belts; obtaining an input material belt cutting scheme list; and repeatedly calculating to obtain all input material belt cutting scheme lists of the input material belts obtained under all the arrangement combinations. The system comprises: the device comprises a reel material belt sequence information file reading module, a parameter setting module, a cutting scheme calculating module and a cutting scheme outputting module; the material belt with longer and more complex length can be processed, the raw materials of the reel material belt are fully utilized to obtain various cutting schemes, and a better cutting scheme is provided.

Description

Reel material belt cutting method and system
Technical Field
The invention belongs to the technical field of reel material belt cutting, and particularly relates to a reel material belt cutting method and system.
Background
In modern industrial production, including industries of steel, building materials, paper rolls, films and the like, the problem of discharging sheets and discharging materials exists, wherein the problem of one-dimensional discharging is the most common problem in production. The one-dimensional blanking problem is a planning problem of optimizing cutting blanking under the known order requirement and raw material data when the dimension of raw materials and required materials is one-dimensional, so that the raw materials are fully utilized as much as possible, and the cost is saved as much as possible.
Particularly, the material belt is required to be cut and spliced according to the quality information of the material belt products before the material belt products are packaged and delivered, the obtained material belt meets the yield and length indexes required by delivery, and the cutting rules, such as cutting times limitation, continuous defective product number limitation and the like, are met. Taking a COF product as an example, the COF is totally called Chip On Flex or Chip On Film, namely a Chip soft Film packaging technology, and an IC Chip is directly mounted On a flexible printed board without any packaging form, so that the purposes of high packaging density, total reduction, volume reduction and free bending and mounting are achieved. COF technology has become one of the mainstream trends of driving IC packages of future flat panel displays. In production, the finished COF tape comprises a plurality of good products and defective products, and is stored on a reel in a film-like form. And finally, before boxing and shipment of the products, considering the actual production yield and cost, cutting off partial defective products on the reel material belt according to the requirement to ensure that the COF reel for shipment meets the requirements of the yield and the length, wherein the process involves the calculation of a cutting scheme.
This process involves the design of a cutting scheme, which is commonly given by manual programming in the prior art, and such a method has many drawbacks: 1. depending on operation experience, the cutting scheme given in most cases can only preferentially meet the yield and length of shipment requirements, and cannot effectively treat the condition that the material belt does not meet the cutting rule, so that a better cutting scheme cannot be given, and the purpose of fully utilizing the raw materials of the reel material belt is achieved; 2. because the artificial design is relied on, the complex material belt is faced, and various cutting schemes are difficult to obtain; 3. because repeated calculation is needed in the design, the calculation can be completed only by manpower, and the efficiency is low; 4. the method can not effectively process the material belts with longer lengths, and can not process scheme calculation under the condition of multi-coil material belt combination.
Disclosure of Invention
In order to overcome the defects in the prior art, the invention provides a reel material belt cutting method and a system, which realize the calculation of a cutting scheme for a multi-reel material belt combination on the premise of meeting the cutting rule and the result requirement.
The invention provides a reel material belt cutting method, the flow of which is shown in figure 1, comprising the following steps:
step 1: defining sequence information of a reel material belt, setting cutting rules and parameters and setting result requirement parameters, wherein the reel material belt is shown in figure 2;
Definition of the needThe total number of the cut reel material belts is N, and N is more than or equal to 1; the sequence information of the material belt on each reel is thatWherein 0 represents defective products and 1 represents good products; k represents the Kth reel material belt, K is more than or equal to 1 and less than or equal to N; i represents the serial number of the ith product on the reel material belt, and the value range of i is more than or equal to 0 and less than L K ,L K Indicating the total number of products on the Kth reel material belt;
the cutting rule comprises a head rule, a frequency rule, a defective product rule and a fragment rule, and is specifically as follows:
head rule: if the number of continuous defective products at the head of the result material belt is greater than the upper limit value RULE_PARAM head If the determined result tape violates the head RULE, RULE_PARAM head ≥0;
The number of times rule: if the cutting times of the result material belt are greater than the upper limit value RULE_PARAM cut Determining that the result band violates the RULE of number of times, RULE_PARAM cut >0;
Defective product rule: if the number of continuous defective products on the resultant material belt is greater than the upper limit value RULE_PARAM ng Judging that the result material belt violates the RULE of defective products, RULE_PARAM ng ≥0;
Fragment rule: if the number of products between two adjacent cutting positions on the resultant material belt is smaller than the lower limit value RULE_PARAM segment Determining that the result band violates the segment RULE, RULE_PARAM segment ≥0。
The result requirement includes: (1) The number of the product of the resultant material belt is larger than the lower limit value REL_PARAM min_length
(2) The number of the product of the material belt is smaller than the upper limit value REL_PARAM max_length
(3) The yield of the resultant material belt is greater than or equal to the lower limit value REL_PARAM min_yield
Step 2: calculating the target permutation and combination of N reels of material bands:
if N > 1, N reels carry N-! Seed alignment, under each alignment, N reels of tape were passedThe head and the tail are connected in series to form a combined material belt; for N-! N-! The combined material belts execute a piecewise yield variance algorithm to obtain a yield variance value VAR of each combined material belt tape The calculated N-! VAR (variable value) tape The values are arranged from large to small and are recorded asCorresponding permutation and combination are marked asGet front P N The individual permutation groups are defined as target permutation groups, and are marked as
If n=1, i.e. only 1 reel of tape, the target number of permutations and combinations P N =1, only one target permutation and combination, no calculation is required;
the segmentation yield variance algorithm is as follows: n reel material belts are connected in series end to form a combined material belt L INPUT For the sum of the number of N reel material belt products, calculating the number L of the segmented products segment The calculation formula is shown as formula (1):
sequentially taking L from the combined material belt segment Product, construct a temporary sectional material beltCalculating the yield of the temporary sectional material belt, and storing the yield into a sectional yield list; taking the yield data in the segmented yield list as input, and calculating the variance of the yield data;
Step 3: determining an input web, assigning an empty input web cutting scheme list to the input web for storing the cutting scheme CUT_SCH of the input web l ,CUT_SCH l The corresponding result material belt is REL_TAPE l
Defining the input material belt sequence information asWhen n=1, the reel tape is the input tape, +.>Equal to reel tape sequence information->L INPUT =L 1 The method comprises the steps of carrying out a first treatment on the surface of the When N is more than 1, taking P obtained in the step 1 N Individual target permutation combination->A target arrangement PER of (a) i As the arrangement and combination sequence of N reels, N reels of material strips are connected end to obtain a combined material strip, which is marked as an input material strip, at this time, the combination material strip is->The sequence information of N reel material bands is connected in series from beginning to end, L INPUT For the sum of the number of N reels of web product, i.e.>
The cutting scheme uses cut_sch l ={cut_start_idx,cut_end_idx,cut_score,list(cut_slice j,k ) The letter "denotes, where l denotes the first cutting scheme of the input web, and cut_start_idx and cut_end_idx denote cut_sch, respectively l The sequence numbers of the start and end products on the input tape, cut_score representing cut_sch l Is a score of (2);
list(cut_slice j,k ) Representing a cut segment list, cut slice j,k Representing a cutting segment, namely cutting off a material band segment between a product serial number j and a product serial number k on an input material band, wherein cut_start_idx is less than or equal to j, and k is less than or equal to cut_end_idx; the cutting scheme refers to taking cut_start_idx and cut_end_idx as Cutting section, cutting list (cut_slice) j,k ) A cut segment stored therein; resetting the clipping scheme refers to assigning cut_start_idx=0, cut_end_idx=0, cut_score=0, and clearing list (cut_slice) j,k ) The method comprises the steps of carrying out a first treatment on the surface of the Applying a cutting scheme to the input material strip to correspondingly obtain a resultant material strip
REL_TAPE l ={rel_start_idx,rel_end_idx,list(cut_slice j,k ) -representation; REL_TAPE l And cut_sch l Has a one-to-one correspondence indicating that a cutting scheme CUT_SCH is performed on the input web l The result band is obtained, wherein rel_start_idx and rel_end_idx respectively represent the serial numbers of the initial product and the final product of the result band on the input band, and the serial numbers respectively represent the serial numbers and the cutting scheme CUT_SCH l The cut_start_idx and the cut-end_idx in (a) are the same; list (cut_slice) j,k ) Representing the CUT-out web segment of the resulting web, defining and evaluating and cutting the CUT-out scheme CUT SCH l Middle list (cut_slice) j,k ) The same; resetting the result tape means assigning rel_start_idx=0, rel_end_idx=0, and emptying list (cut_slice) j,k );
Step 4: defining a current candidate result TAPE REL_TAPE on an input TAPE current And is assigned a current cutting scheme CUT SCH current And the current cutting scheme list is CUT_SCH current And its corresponding rel_tap current Assigning an initial value;
on the input material belt determined in step 3, defining
REL_TAPE current ={rel_start_idx,rel_end_idx,list(cut_slice j,k ) Assigned value
rel_start_idx=INDEX start ,rel_end-idx=INDEX end Emptying list (cut_slice) j,k ) Wherein INDEX start
INDEX for the first product on the input web for the current candidate web start The initial value is 0, namely the head of the input material belt; definition INDEX end And assigned as INDEX end =min{INDEX start +REL_PARAM min_length Number of input tape products L INPUT -1}, INDEX, representing the number of the last product on the input web, expressed as the current candidate web start And INDEX end Marking a start and stop sequence number interval of a current candidate result material belt;
REL-TAPE current Corresponding CUT-off scheme CUT SCH current Reset, post-reset assignment cut scheme cut_start_idx=index start 、cut_end_idx=INDEX end
Step 5: in the improved clustering algorithm: definition of the definitionTo cluster reel ribbon sequence information, valid_INDEX Cluster For the reel material to be clustered with effective sequence number information, CLUSTER is a CLUSTER, and a parameter CLUSTER_PARAM is assigned M The initial value of (2) is 0, and the value range is as follows: CLUSTER_PARAM of 0.ltoreq.CLUSTER_PARAM M ≤RULE_PARAM segment
Step 6: defining an empty web sequence information as an input web copy, copying the input web sequence information into the input web copy, and applying REL_TAPE to the input web copy current RULE_PARAM following the header sequence number rel_start_idx head The individual product information is modified into a defective product mark 0;
Step 7: calculating the NUMBER of defective products to be cut off on the current candidate result material belt, which is defined as the NUMBER of products to be cut off NUMBER need_to_cut
The calculation formulas are shown in formulas (2) and (3), and the calculation result is rounded; if the yield of the material belt of the current candidate result is greater than or equal to the lower limit REL_PARAM of the yield min_yield Calculation is performed using equation (2), otherwise equation (3) is used:
in the formulas (2) and (3), OK_CNT represents the number of good products on the current candidate result material belt, and NG_CNT represents the number of defective products on the current candidate result material belt;
step 8: according to NUMBER need_to_cut Determining the current candidate result TAPE REL_TAPE current Cutting scheme cut_sch current The flow is shown in figure 3;
step 8.1: assigning a cluster information list and a pre-cut cluster information list according to NUMBER need_to_cut The step 8.2 or the step 8.3 is executed by taking the value;
step 8.2 if NUMBER need_to_cut Less than 0;
step 8.2.1 emptying the cluster information list and the pre-cut cluster information list, taking the input TAPE copy as the reel TAPE to be clustered, and taking REL_TAPE current Extracting effective serial number information, performing improved clustering calculation, and storing the calculated defective product clusters and good product clusters into a cluster information list; sequentially finding out that the number value of all class cluster products is greater than or equal to RULE_PARAM in a class cluster information list ng The defective product cluster of the value is stored in a pre-cutting cluster information list according to the sequence from front to back after the copy is copied;
if the pre-cutting cluster information list is empty, executing the step 8.2.2;
if the current candidate result material belt is not empty, the first defective product CLUSTER in the pre-cutting CLUSTER information list is taken and defined as the current cutting CLUSTER to be cut from the current candidate result material belt, and the current cutting CLUSTER is recorded as CLUSTER current Executing cutting operation to obtain updated REL_TAPE current
Judging REL_TAPE current Whether the three rules of the head rule, the frequency rule and the fragment rule set in the step 1 are satisfied:
if yes, removing CLUSTER in the pre-cut CLUSTER information list current And update NUMBER need_to_cut The value of (C) is NUMBER need_to_cut =NUMBER need_to_cut +CLUSTER current Length ofThe method comprises the steps of carrying out a first treatment on the surface of the If the pre-cutting CLUSTER information list is not empty, continuously taking the first defective CLUSTER in the pre-cutting CLUSTER information list as a CLUSTER current Performing the cutting operation again; if empty, execute 8.2.2;
if not, the cutting is canceled, namely REL_TAPE is stored in the cutting operation current Cut-out clip list (cut_slice) j,k ) Is (c) cut slice j,k Removing; if CLUSTER current If the CLUSTER is the last CLUSTER in the pre-cut CLUSTER information list, executing the step 8.1.2, otherwise, executing the CLUSTER in the pre-cut CLUSTER information list current The next defective CLUSTER is used as CLUSTER current Continuing to execute the cutting operation;
step 8.2.2 checking NUMBER need_to_cut If the number is more than or equal to 0, executing the step 9 if the number is more than or equal to 0; if the number of the coiled material bands is smaller than 0, emptying the cluster information list and the pre-cutting cluster information list, taking the input material band copy as the coiled material band to be clustered, and updating REL_TAPE current Extracting effective serial number information, performing improved clustering calculation, and storing the calculated defective product and good product cluster information into a cluster information list; sequentially finding out all defective product clusters in the cluster information list, sorting the found defective product clusters according to the number of the product clusters and the absolute value of the difference value of the number of the products to be cut out from small to large, copying the copies of the cluster, and sequentially storing the copies of the cluster into the pre-cutting cluster information list;
if the pre-cutting cluster list is empty, executing the step 9;
if not, taking the first defective CLUSTER in the pre-cut CLUSTER list as the current cut CLUSTER to be cut from the current candidate result material belt, and marking the current cut CLUSTER as CLUSTER current Executing cutting operation to obtain updated REL_TAPE current
Judging updated REL_TAPE current Whether the three rules of the head rule, the frequency rule and the fragment rule set in the step 1 are satisfied:
If yes, removing CLUSTER in the pre-cut CLUSTER information list current And update NUMBER need_to_cut The value of (C) is NUMBER need_to_cut =NUMBER need_to_cut +CLUSTER current A length; checking updated NUMBER need_to_cut If the number is more than or equal to 0, executing the step 9 if the number is more than or equal to 0; if the ratio is less than 0, the process proceeds to step 8.2.1;
if not, the cutting is canceled, namely REL_TAPE is stored in the cutting operation current Cut out segment list
list(cut_slice j,k ) Is (c) cut slice j,k Removing; if CLUSTER current If the CLUSTER is the last CLUSTER in the pre-cut CLUSTER information list, executing the step 9, otherwise, executing the CLUSTER in the pre-cut CLUSTER information list current The next defective CLUSTER is used as CLUSTER current Continuing to execute the cutting operation;
step 8.3 if NUMBER need_to_cut Greater than or equal to 0
Step 8.3.1 emptying the cluster information list and the pre-cut cluster information list, taking the input material belt copy as the coil material belt to be clustered, and taking REL_TAPE current Extracting effective serial number information, performing improved clustering calculation, and storing the calculated defective product and good product clusters into a cluster information list; sequentially finding out that the number value of all class cluster products is greater than or equal to RULE_PARAM in a class cluster information list ng The defective product cluster of the value is stored in a pre-cutting cluster information list according to the sequence from front to back after the copy is copied;
If the pre-cutting cluster information list is empty, executing the step 9;
if not, the first defective CLUSTER in the list of pre-cut CLUSTERs is selected, defined as the current cut CLUSTER to be cut from the current candidate result material belt, and recorded as CLUSTER current
Step 8.3.2 performing a cutting operation to obtain updated REL_TAPE current The method comprises the steps of carrying out a first treatment on the surface of the Judging REL_TAPE current Whether the three rules of the head rule, the frequency rule and the fragment rule set in the step 1 are satisfied:
if yes, removing CLUSTER in the pre-cut CLUSTER information list current And update NUMBER need_to_cut The value of (C) is NUMBER need_to_cut =NUMBER need_to_cut -CLUSTER current Product number, go to step 8.3.1;
if not, the cutting is canceled, namely REL_TAPE is stored in the cutting operation current Cut-out clip list (cut_slice) j,k ) Is (c) cut slice j,k Removing; if the pre-cutting CLUSTER information list is not empty, the CLUSTER in the pre-cutting CLUSTER information list is taken current The next defective CLUSTER is used as CLUSTER current Continuing to execute the cutting operation; if the air is empty, executing the step 9;
the performing a trimming operation is: the current candidate result material belt REL_TAPE current The product on the section marked by the current cutting cluster is cut off, and the specific operation is as follows: constructing a cut slice j,k The assignments j= clu _start_idx, k= clu _end_idx, clu _start_idx and clu _end_idx are taken from clus ter current This cut_slice is taken j,k Deposit REL_TAPE current Is (cut_slice) j,k ) Obtaining updated REL_TAPE current
Step 9: confirming REL_TAPE of current candidate result material belt current Whether the cutting rule and the result requirement in the step 1 are met or not, and executing the step 9.1 according to the result
If REL_TAPE current Meets the cutting rule and result requirement, then for REL_TAPE current Executing a result material belt scoring formula to calculate REL_TAPE current Assigning a score to a CUT-off scheme CUT SCH current In cut_score, REL_TAPE current In list (cut_slice) j,k ) Copy to CUT SCH current Is (cut_slice) j,k ) The updated CUT-off scheme CUT_SCH current Recording the current cutting scheme list in the step 4, and continuously executing the step 9.1;
if REL_TAPE current Step 9.1 is continuously executed if the cutting rule and the result requirement are not met;
step 9.1 emptying REL_TAPE current And cut_sch current Is (cut_sl)ice j,k ) Updating CLUSTER_PARAM M The value of (2) is CLUSTER_PARAM M =CLUSTER_PARAM M +1; if the CLUSTER_PARAM after updating the value M ≤RULE_PARAM segment Turning to step 6; if the CLUSTER_PARAM after updating the value M >RULE_PARAM segment Step 10 is executed;
the scoring formula of the result material belt is as follows:
Score total =α*Score yield +(1-α)*Score length (4)
in formula (4), score total Representing the scoring of the result tape to be scored, the Score being derived from the yield Score yield And length Score length Composition, parameter α represents scoring weight;
Score yield =(Yield result -REL_PARAM min_yield )/REL_PARAM min_yield (5)
In the formula (5), YIeld result Representing the yield of the material tape of the result to be scored, REL_PARAM min_yield Representing a lower limit of yield;
Score length =(Length result -REL_PARAM min_length )/REL_PARAM min_length (6)
in formula (6), length result Indicating the number of products in the material band of the result to be scored, REL_PARAM min_length Representing the lower limit value of the number of the product in the result material belt;
step 10: backward extending a current candidate result band REL-tap on an input band current Sequence number interval, reset and update cut_sch current And REL-TAPE current Then, solving is continued;
the expansion method comprises the following steps: updating INDEX on input tape for marking end product serial number of current candidate result tape end
Clearing a CLUSTER information list, and assigning CLUSTER_PARAM M =1, constructing VALID sequence number information valid_index using the input tape as a reel tape to be clustered Cluster Wherein valid_start_idx=index end ,valid_end_idx=L INPUT -1,list(invalid_slice j,k ) If the result is empty, performing improved clustering calculation, and storing the result into a cluster information list;
if the cluster information list is not empty, INDEX is added end Is updated to the value of the first cluster of the cluster information list
clu _end_idx value +1, reset CUT_SCH current And REL_TAPE current Updating REL_TAPE current The rel_start_idx value of (2) is INDEX start The rel_end_idx value is INDEX end A value; updating CUT SCH current The cut_start_idx value of (2) is INDEX start The cut end idx value is INDEX end A value; assignment CLUSTER_PARAM M =0, continuing to execute step 6;
If the cluster information list is empty, continuing to execute the step 11;
step 11: determining a slave sequence number INDEX on the input web from the current cutting scheme list start Optimal cutting scheme to end of tape, then update INDEX start Value, update cut_sch after reset current And REL_TAPE current Continuing to solve;
obtaining an updated current cutting scheme list, wherein more than or equal to 0 cutting schemes are stored, and the cutting schemes all use INDEXstart as a starting sequence number, and a corresponding result material belt is obtained after cutting on an input material belt; the best cutting scheme needs to be found from the current cutting scheme list:
step 11.1: if the current cutting scheme list is not empty, sorting the cutting schemes in the list according to the scores from large to small, and determining the cutting scheme with the highest score as an input material belt to be subjected to INDEX start Storing the optimal cutting scheme for the initial sequence number into an input material belt cutting scheme list;
updating INDEX start The INDEX is updated after the rel end idx value of the optimal clipping scheme is increased by 1 end The value of min { INDEX } start +REL_PARAM minlength Inputting the number of the belt products of-1; reset CUT SCH current And REL_TAPE current
If INDEX start Small valueUpdating REL_TAPE in the number of the input material belt products current The rel_start_idx value of (2) is INDEX start The rel_end-idx value is INDEX end A value; updating CUT SCH current The cut_start_idx value of (2) is INDEX start The cut end idx value is INDEX end Turning to the step 5 to continue solving;
if INDEX start If the value is greater than or equal to the number value of the input material belt, continuing to operate the step 12;
step 11.2: if the current cutting scheme list is empty, the method indicates that the input material belt is provided with INDEX start For the starting number, the cutting scheme meeting the cutting rule and the result requirement is not solved until the end of the material strip, in which case INDEX is needed start And min { INDEX start +REL_PARAM min_length The number of input tapes-1, thus defining a cutting scheme { cut_start_idx, cut_end_idx, cut_score, list (cut_slice) j,k ) Assigned its cut_start_idx=index } start ,cut-end-idx=min{INDEX start +REL_PARAM min_length The number of input tape products-1, cut score=0, cut segment list (cut slice) j,k ) Only one fragment and j=index start ,k=min{INDEX start +REL-PARAM min_length Inputting the number of the belt products-1 }, and storing the scheme into an input belt cutting scheme list;
then, update INDEX start The value of min { INDEX } start +REL-PARAM min-length After inputting the number of strips-1, the INDEX is updated again end The value of min { INDEX } start +REL_PARAM min_length Inputting the number of the material strips to be-1; reset CUT SCH current And REL-TAPE current
If INDEX start The value is smaller than the number of the input material belt products, and REL_TAPE is updated current The rel_start_idx value of (2) is INDEX start The rel_end-idx value is INDEX end A value; updating CUT SCH current The cut_start-idx value of (2) is INDEX start The cut end idx value is INDEX end The value goes to step 5 to continue to calculateSolving;
if INDEX start If the value is greater than or equal to the number of the input material belt products, continuing to operate the step 12;
the steps 5 to 11 are used for calculating the product serial number interval INDEX from the input material belt start Cutting one or more cutting schemes of the result material belt between LINPUT-1, wherein the cutting schemes are not unique, and the cutting schemes are stored in a current cutting scheme list after being obtained;
step 12: solving to obtain an input material belt cutting scheme list of the input material belt;
solving to obtain an input material belt cutting scheme list, storing one or more cutting schemes, and sequentially executing the cutting schemes on the input material belt to obtain one or more corresponding result material belts;
step 13: repeatedly executing the steps 3 to 11 until the solution obtains P N P of the input tapes obtained under individual permutation and combination N And inputting a tape cutting scheme list.
The improved clustering algorithm comprises the following steps:
step a, setting sequence information and effective sequence number information of reel material bands to be clustered;
defining valid sequence number information of reel materials to be clustered:
VALID_INDEX Cluster ={valid-start-idx,valid-end_idx,list(invalid-slice j,k ) In which valid_start-idx and valid_end-idx represent valid_INDEX, respectively Cluster The start and stop numbers of (2) are 0.ltoreq.valid_start_idx < valid-end-idx < L cluster ;invalid-slice j,k Indicating an invalid sequence number interval, indicating that the invalid sequence number between the cutting sequence numbers j and k is smaller than or equal to j, and k is smaller than or equal to valid_end-idx;
from the resultant web REL_TAPE l ={rel_start_idx,rel-end-idx,list(cut_slice j,k ) Extracting valid sequence number information in the sequence number information refers to assigning valid_start_idx=rel-start-idx, valid-end-idx=rel_end_idx, and copy list (cut_slice) j,k ) To list (invalid_slice) j,k ) In (a) and (b);
VALID sequence number information valid_index Cluster The upper valid sequence number is located between valid_start_idx and valid_end_idx, but not located in list (invalid_slice) j,k ) Sequence numbers on the invalid sequence number interval; the rest are invalid sequence numbers;
when the clustering calculation is improved, the calculation is only carried out aiming at the information marked by the effective serial number of the effective serial number information on the reel material belt sequence information to be clustered;
the class CLUSTERs are expressed as CLUSTER= { clu _start_idx, clu _end_idx, clu _type 0/1 ,clu_consisflag 0/1 Clu _start_idx and clu _end_idx represent cluster intervals, clu _start_idx represents the start sequence number of a cluster on the reel tape to be clustered, clu _end_idx represents the end sequence number of a cluster on the reel tape to be clustered, and the difference between clu _end_idx and clu _start_idx represents the cluster length; clu _type 0/1 Representing the class of the class cluster, and taking the value of 0 or 1; clu _confisisflag 0/1 Indicating whether the consistency flags of the clusters, i.e. the products between the cluster sequence number range clu _start_idx to clu _end_idx on the reel strip to be clustered, are of the same class, if so, clu _consistency flag 0/1 Take the value of 1, otherwise, clu _confisisflag 0/1 The value is 0; reset class cluster representation assigns clu _start_idx=0, clu_end_idx=0, clu_type 0/1 =1,clu-consisflag 0/1 =1;
Given parameter CLUSTER_PARAM M CLUSTER_PARAM M In the clustering process, continuously showing the upper limit of the number of products which are different from the class of the cluster;
step b, executing an improved clustering algorithm to obtain a list of the reel strips to be clustered, and storing defective product clusters and good product clusters in the list
Step b.1 defining the initial sequence number of the current Cluster interval as Cluster start ,Cluster start Initial value of 0, correct Cluster start Has a value of valid_INDEX Cluster The first is greater than or equal to Cluster start Valid sequence number of value, end sequence number of current Cluster interval is Cluster end The method comprises the steps of carrying out a first treatment on the surface of the Setting Cluster end Initial value is Cluster start Value, defining current result CLUSTER CLUSTER processing The method comprises the steps of carrying out a first treatment on the surface of the Distributing a temporary reel TAPE information TAPE_INFO Cluster_Tmp Clearing the information data;
step b.2 determining the current result CLUSTER CLUSTER processing And will CLUSTER processing Storing a to-be-clustered reel material belt cluster list, which is realized through the following steps:
step b.2.1 Cluster in the sequence information of the reels to be clustered start Information data value at sequence number is assigned to current result CLUSTER CLUSTER processing Clu _type of (C) 0/1 The method comprises the steps of carrying out a first treatment on the surface of the Cluster for extracting information of reels to be clustered start Information data value at sequence number is stored in TAPE_INFO Cluster_Tmp Ending;
step b.2.2 incremental Cluster end The value of (i.e. assigned Cluster) end =Cluster end +1; judging updated Cluster end Whether or not it is valid_INDEX Cluster A valid sequence number on the table;
if the information is the valid sequence number, extracting the information Cluster of the reel material bands to be clustered end Information data value at sequence number is stored in TAPE_INFO Cluster_Tmp And finally, executing the step b.2.3;
if the serial number is invalid, updating the Cluster again end The values are: cluxter end =Cluxter end +1, and judge updated Cluster end Whether or not to be greater than or equal to valid_INDEX Cluster If the value of valid_end_idx is greater than or equal to the value of valid_end_idx, executing the step b.2.3, otherwise, executing the step b.2.2 again;
step b.2.3 judging Cluster end Whether the value is greater than or equal to valid_INDEX Cluster Valid_end_idx value of (2);
if Cluster end The value is greater than or equal to the valid_end_idx value, indicating that the end of the valid sequence number information has been reached, and checking the temporary reel TAPE information TAPE_INFO Cluster_Tmp If the products are the same type of products, assigning CLUSTER processing Clu _confisisflag of (2) 0/1 1, otherwise, assigning 0; assignment CLUSTER processing Clu _start_idx value of Cluster start Assigning clu _end_idx to Cluster end Will CLUSTER processing Storing a to-be-clustered reel material belt cluster list, and then turning to step 3;
if Cluster end If the value is smaller than the valid_end_idx value, the step b.2.3.1 or the step b.2.3.2 is continued
Step b.2.3.1 if the temporary reel TAPE information TAPE-INFO Cluster_Tmp Upper continuous occurrence and CLUSTER processing Clu-type of (V2) 0/1 The number of different data values is greater than CLUSTER_PARAM M Then check TAPE_INFO Cluster_Tmp If the products are the same type of products, assigning CLUSTER processing Clu-constisflag of (2) 0/1 1, otherwise, assigning 0; assignment CLUSTER processing Clu _start-idx value of Cluster start Assigning clu _end_idx to Cluster end -1, CLUSTER processing B, storing a to-be-clustered reel material belt cluster list, and turning to the step b.3 to continue calculation;
step b.2.3.2 if the reels to be clustered are on Cluster start And Cluster end Between successive occurrences and CLUSTER pro Clu _type of (C) 0/1 The number of different data values is less than or equal to CLUSTER_PARAM M And then, turning to the step b.2.2 to continue calculation;
step b.3 updating Cluster start Has a value of Cluster start =Cluster end Then empty the temporary reel of tape information
TAPE_INFO Cluster_Tmp Reset CLUSTER processing Then, turning to the step b.1 to continue calculation;
and c, outputting a list of the coil bands to be clustered.
The system for realizing the reel material belt cutting method comprises the following steps: the device comprises a reel material belt sequence information file reading module, a parameter setting module, a cutting scheme calculating module and a cutting scheme outputting module.
The reel material belt sequence information file reading module comprises a reel material belt sequence information file reading module: for opening andreading N reel material belt sequence information files, wherein the content read is stored to be the material belt sequence information, and the content is more than or equal to 1The reel ribbon sequence information file holds reel ribbon sequence information in a data sequence format, the data sequence being a sequence of characters '0' and '1', or a sequence of numerals 0 and 1.
The parameter setting module is used for: the method comprises the steps of inputting a cutting rule parameter, a result requirement parameter and an improved clustering algorithm parameter;
the cutting scheme calculation module is used for: the method comprises the steps of performing cutting scheme calculation on the material belt sequence information read by a reel material belt sequence information file reading module and parameters set by a parameter setting module by using the reel material belt cutting optimization method;
the cutting scheme output module is used for: the cutting scheme calculation module is used for displaying the cutting scheme calculated by the cutting scheme calculation module on a computer screen in a graphical mode, and outputting and storing the cutting scheme to a computer disk file.
The beneficial effects of adopting above-mentioned technical scheme to produce lie in: a cutting method for reel material belt can calculate cutting scheme for single reel material belt or multi-reel material belt combination, can process material belt with longer length, can process and screen reel material belt, can obtain multiple cutting schemes after executing cutting scheme calculation, and can grade and sort each scheme. In the face of complex material belts, the system for realizing the reel material belt cutting method does not need to rely on operation experience, and the repeatability calculation is finished by the system, so that the labor cost and the time cost can be saved, various cutting schemes can be obtained, a better cutting scheme can be provided, and the purpose of fully utilizing the reel material belt raw materials is achieved.
Drawings
FIG. 1 is a flow chart of a method for cutting a reel of material;
FIG. 2 is a schematic view of a reel of material;
FIG. 3 is a flow chart of the present invention for determining a current candidate result web clipping scheme based on an improved clustering algorithm;
FIG. 4 is a schematic diagram showing the calculation result of the cutting scheme in example 1 of the present invention;
FIG. 5 is a schematic diagram showing the calculation result of the cutting scheme in embodiment 2 of the present invention;
FIG. 6 is a schematic diagram showing the calculation result of the cutting scheme in embodiment 3 of the present invention;
FIG. 7 is a schematic diagram showing the calculation result of the cutting scheme in embodiment 4 of the present invention;
wherein the white bottom box indicates good products, the gray bottom box indicates defective products, ■ indicates the starting product position of the resulting tape, ∈ indicates the ending product position of the resulting tape, and x indicates the segment to be cut off on the resulting tape.
Detailed Description
The following describes a specific embodiment of the present invention in detail with reference to the accompanying drawings, where the system for implementing a reel material tape cutting method according to this embodiment includes: the device comprises a reel material belt sequence information file reading module, a parameter setting module, a cutting scheme calculating module and a cutting scheme outputting module.
In this embodiment, N (N.gtoreq.1) txt-format text files are given that hold reel ribbon sequence information.
The reel material belt sequence information file reading module reads the material belt sequence in the text file and stores the material belt sequence to the text file
The parameter setting module inputs the values of parameters in the cutting scheme calculation method, including cutting RULE parameter RULE_PARAM head 、RULE_PARAM segment 、RULE_PARAM cut And RULE_PARAM ng The method comprises the steps of carrying out a first treatment on the surface of the Result requirement parameter REL_PARAM min_length 、REL_PARAM max_length And REL_PARAM min_yield The method comprises the steps of carrying out a first treatment on the surface of the Number of target arrangements P N
The cutting scheme calculation module performs cutting scheme calculation based on the material belt sequence information and the parameter value to obtain P N A list of individual cutting schemes;
the cutting scheme output module displays the cutting scheme corresponding to the first sequence number in the cutting scheme sequencing sequence number list in a graphical mode on a computer screen; and saving all the cutting schemes in the cutting scheme list as text files in csv format.
The following describes a method for cutting a web of material according to the present invention in further detail with reference to the drawings and examples, and the specific flow chart is shown in fig. 1, and the specific examples described herein are only for explaining the present invention and are not limiting the present invention.
Example 1 illustrates a cutting scheme calculation step for a single reel of tape with a yield higher than the lower limit of the resulting required yield;
example 2 illustrates a cutting plan calculation step for a single reel of tape with a yield below the lower limit of the resulting required yield;
example 3 illustrates a cutting plan calculation step for a plurality of reel tape combinations;
example 4 is used to illustrate the improved clustering algorithm calculation step;
example 1
When n=1 is demonstrated with this example, the reel tape cutting scheme calculation system implements the process.
Giving a COF reel material tape sequence information file, reading file data to obtain Material belt data information: the yield is 89.66%, the total number of products is 2457, and the number of good products is 2203; the tape sequence data is shown in fig. 4, which shows the product on the tape with a block pattern sequence from left to right and from top to bottom.
Setting a cutting rule parameter: RULE_PARAM head =3,RULE_PARAM segment =5,RULE_PARAM cut =15,RULE_PARAM ng =5;
Setting result requirement parameters: RULE_PARAM min_length =2000,RULE_PARAM max_length =5000, r chinese ule_param min_yield =0.8;
The visual display of the cutting scheme calculated by the system for implementing the reel strip cutting method is shown in fig. 4, and a result strip meeting the cutting rule and the result requirement can be cut from a given reel strip, and the result strip comprises a continuous defective product segment with the number of 7 and a continuous defective product segment with the number of 9, and the two segments violate the defective product rule. The yield of the material belt is 90.2%, the result length is 2441 (16 are cut off), and the cutting rule and the result requirement are met.
The following describes the calculation method of the cutting scheme in detail in combination with the calculation steps in the summary:
step 1, defining sequence information of reel material bands, and setting cutting rule parameters and result requirement parameters.
In this embodiment, the reason is thatLonger length, and the sequence data is shown in figure 4;
and 2, calculating target arrangement combinations of N reel tapes. In this embodiment, n=1, the permutation and combination may not be calculated;
And 3, determining an input material belt, and distributing an empty input material belt cutting scheme list for the input material belt to store the cutting scheme of the input material belt.
In this embodiment n=1, the input tape sequence information isNamely +.>L INPUT =2457;
Step 4, defining the current candidate result TAPE REL_TAPE on the input TAPE current And is assigned a current cutting scheme CUT SCH current And a current clipping scheme list.
INDEX start =0,INDEX end =min{INDEX start +REL_PARAM min_length Number of input tape products L INPUT -1}=2000。
REL_TAPE current ={rel_start_idx=0,rel_end_idx=2000,list(cut_slice j,k ) List (cut_slice) at this time j,k ) Is empty;
CUT_SCH current ={cut_start_idx=0,cut_end_idx=2000,cut_score=0,list(cut_slice j,k )},list(cut_slice j,k ) Is empty;
the current cutting scheme list is empty;
step 5, definingTo cluster reel ribbon sequence information, valid_INDEX Cluster Assigning CLUSTER_PARAM for reel materials to be clustered with effective sequence number information M =0。
Step 6, defining an empty material belt sequence information as an input material belt copy, copying the input material belt sequence information into the input material belt copy, and adding REL_TAPE to the input material belt copy current RULE_PARAM following the header sequence number rel_start_idx head =3 pieces of product information are modified to defective product flag 0.
Step 7, calculating the NUMBER of defective products to be cut off on the current candidate result material belt to obtain NUMBER need_to_cut =980。
Step 8. According to NUMBER need_to_cut Determining the current candidate result TAPE REL_TAPE current Cutting scheme cut_sch current
Because of NUMBER need_to_cut =980 > 0, so step 8.3 is performed.
Step 8.3.1. Emptying the cluster information list and the pre-cut cluster information list, taking the input TAPE copy as the reel TAPE to be clustered, and taking REL_TAPE current Extracting effective serial number information from the data, performing improved clustering calculation to obtain a class CLUSTER information list containing 321 class CLUSTERs, selecting the class CLUSTERs with the length of more than or equal to 5, storing the class CLUSTERs into a pre-cut class CLUSTER information list, wherein at the moment, two class CLUSTERs (23, 29,0,1) and {38, 46,0,1} are respectively arranged in the pre-cut class CLUSTER information list, and taking the first class CLUSTER as a CLUSTER current ={23,29,0,1}。
Step 8.3.2. Performing a cutting operation to obtain CLUSTER current From REL_TAPE current REL_TAPE after upper resection current ={rel_start_idx=0,rel_end_idx=2000,list(cut_slice j,k ) = {23, 29} }. Judging that the head rule, the frequency rule and the fragment rule are satisfied at the moment, removing {23, 29,0,1} from the pre-cutting cluster information list, and updating NUMBER need_to_cut =980-7=973。
Turning to step 8.3.1. Carrying out clustering calculation again to obtain a class CLUSTER information list containing 319 class CLUSTERs, selecting the class CLUSTERs with the length more than or equal to 5, storing the class CLUSTERs into a pre-cutting class CLUSTER information list, at the moment, one class CLUSTER in the pre-cutting class CLUSTER information list is {38, 46,0,1}, and taking the first class CLUSTER as a CLUSTER current ={38,46,0,1}。
Executing step 8.3.2. Executing the cutting operation to obtain CLUSTER current From REL_TAPE current REL_TAPE after upper resection current ={rel_start_idx=0,rel_end_idx=2000,list(cut_slice j,k ) = {23, 29}, {38, 46 }. Judging that the head rule, the frequency rule and the fragment rule are satisfied at the moment, removing {38, 46,0,1} from the pre-cutting cluster information list, and updating NUMBER need_to_cut =973-9=964。
Turning to step 8.3.1, carrying out clustering calculation again to obtain a class cluster information list containing 317 class clusters, selecting the class clusters with the lengths more than or equal to 5, storing the class clusters in a pre-cutting class cluster information list, turning to step 9 when the pre-cutting class cluster information list is empty.
Step 9, confirming the REL-TAPE of the material belt of the current candidate result current And (3) whether the cutting rule and the result requirement in the step (1) are met, calculating the cutting scheme score, and updating the current cutting scheme list in the step (4).
At this time, REL_TAPE current ={rel_start-idx=0,rel-end-idx=2000,list(cut_slice j,k ) = {23, 29}, {38, 46 }. The yield is 0.905, which meets the cutting rule but does not meet the lower length limit in the result requirement. Step 9.1 is performed.
Step 9.1. Emptying REL/uTAPE current And cut_sch current Is (cut_slice) j,k ). Updating CLUSTER_PARAM M_Set =CLUSTER_PARAM M_Set +1=1 because of cluster_param M_Set =1 < 5, go to step 6.
Thus far, CLUSTER_PARAM is completed M For rel_tape when=0 current Cutting calculation (step 6 to step 9) of (a) the following is performed M For rel_tap when=1 current Is performed in the cutting operation of (a).
In fact, from CLUSTER_PARAM M =0, in the sequence number interval 0-2000, i.e. INDEX start =0,INDEX end =2000, because two consecutive defective material tape segments are cut, the length of the resulting tape must not meet the lower number limit in the resulting requirement, hence cluster_param M =1、CLUSTER_PARAM M =2、CLUSTER_PARAM M =3、CLUSTER_PARAM M =4、CLUSTER_PARAM M Step analysis and cluster_param when=5 M Similar to =0, the clipping scheme satisfying the clipping rule and result requirement cannot be solved, and the clipping_param is skipped here for saving space M =1、CLUSTER_PARAM M =2、CLUSTER_PARAM M =3、CLUSTER_PARAM M Execution step when=4, continue to cluster_param M The analysis performed at step 9.1 when=5.
Step 9.1. Clearing REL_TAPE current And cut_sch current Is (cut_slice) j,k ). Updating CLUSTER_PARAM M =CLUSTER_PARAM M +1=6 because of cluster_param M =6 > 5, step 10 is performed.
Step 10. Backward extending the current candidate outcome TAPE REL-TAPE on the input TAPE current Sequence number interval, reset and update cut_sch current And REL-TAPE current Then the solution is continued.
Clearing a CLUSTER information list, and assigning CLUSTER_PARAM M =1. Constructing valid_start_idx=2000, valid_end_idx=2457-1 and list by taking the input material belt as the information of the reel material belt to be clustered(invalid_slice j,k )},list(invalid_slice j,k ) And if the result is empty, performing improved clustering calculation, and storing the result into a cluster information list.
Updating INDEX because the cluster-like information list is not empty end Value INDEX of (B) end =2000+1=2001, reset and update cut_sch current And REL-TAPE current Updating REL_TAPE current Rel_start_idx=0, rel_end_idx=2001; updating CUT SCH current Cut_start_idx=0, cut_end_idx=2001; assignment CLUSTER_PARAM M =0, continuing to execute step 6;
continuing to execute steps 6 to 9, since the length of the resulting web must not meet the lower limit of the number in the result requirement, and still cannot solve the cutting scheme meeting the cutting rule and the result requirement, for saving space, the explanation of these intermediate execution steps is skipped here until step 10 before the cutting scheme meeting the cutting rule and the result requirement can be solved, and continuing to explain as follows:
step 10, emptying a CLUSTER information list, and assigning CLUSTER_PARAM M =1. The input material band is used as the information of the reel material band to be clustered, and the valid serial number information { valid_start_idx=2001, valid-end-idx=2457-1, list (invalid_slice) j,k )},list(invalid_slice j,k ) And if the result is empty, performing improved clustering calculation, and storing the result into a cluster information list.
The cluster information list is not empty and the first cluster is 2001, 2159,1,0, update INDEX end Value INDEX of (B) end =2160, reset and update cut_sch current And REL_TAPE current Updating REL_TAPE current Rel_start_idx=0, rel_end_idx=2160; updating CUT SCH current Cut_start_idx=0, cut_end_idx=2160; assignment CLUSTER_PARAM M =0, continuing to execute step 6;
to this end, INDEX start =0,INDEX end =2160, and the solution of the cutting scheme is performed on the current candidate result band with the sequence number interval of 0-2160 on the input band. From the jump to step 6 execution starts. At this time, REL_TAPE current ={rel_start_idx=0,rel_end_idx=2160,list(cut_slice j,k )={}},
Step 6, defining an empty material belt sequence information as an input material belt copy, copying the input material belt sequence information into the input material belt copy, and adding REL_TAPE to the input material belt copy current RULE_PARAM following the header sequence number rel_start_idx head =3 pieces of product information are modified to defective product flag 0.
Step 7, calculating to obtain NUMBER need_to_cut =981。
Step 8, determining the REL_TAPE of the current candidate result material belt current Cutting scheme cut_sch current
Because of NUMBER need_to_cut =981 > 0, so step 8.3 is performed.
Step 8.3.1, performing clustering calculation to obtain a class CLUSTER information list containing 349 class CLUSTERs, selecting the class CLUSTERs with the length more than or equal to 5, storing the class CLUSTERs into a pre-cutting class CLUSTER information list, wherein at the moment, two class CLUSTERs in the pre-cutting class CLUSTER information list are respectively {23, 29,0,1} and {38, 46,0,1}, and taking the first class CLUSTER as a CLUSTER current ={23,29,0,1}。
Step 8.3.2. Performing a cutting operation to obtain CLUSTER current From REL_TAPE current REL_TAPE after upper resection current ={rel_start_idx=0,rel_end_idx=2160,list(cut_slice j,k ) = {23, 29} }. Judging that the head rule, the frequency rule and the fragment rule are satisfied at the moment, removing {23, 29,0,1} from the pre-cutting cluster information list, and updating NUMBER need_to_cut =981-7=974。
Turning to step 8.3.1. Carrying out clustering calculation again to obtain a CLUSTER information list containing 347 CLUSTERs, selecting the CLUSTERs with the length more than or equal to 5, storing the CLUSTER information list into a pre-cutting CLUSTER information list, wherein at the moment, one CLUSTER in the pre-cutting CLUSTER information list is {38, 46,0,1}, and taking the first CLUSTER as a CLUSTER current ={38,46,0,1}。
Executing step 8.3.2. Executing the cutting operation to obtain CLUSTER current From REL_TAPE current REL_TAPE after upper resection current ={rel_start_idx=0,rel_end_idx=2160,list(cut_slice j,k ) = {23, 29}, {38, 46 }. Judging that the head rule, the frequency rule and the fragment rule are satisfied at the moment, removing {38, 46,0,1} from the pre-cutting cluster information list, and updating NUMBER need_to_cut =974-9=965。
Turning to step 8.3.1, carrying out clustering calculation again to obtain a class cluster information list containing 345 class clusters, selecting the class clusters with the lengths more than or equal to 5, and storing the class clusters in a pre-cutting class cluster information list, wherein the pre-cutting class cluster information list is empty. Go to step 9.
Step 9, confirming the REL_TAPE of the material belt of the current candidate result current And (3) whether the cutting rule and the result requirement in the step (1) are met, calculating the cutting scheme score, and updating the current cutting scheme list in the step (4).
At this time, REL_TAPE current ={rel_start_idx=0,rel_end_idx=2160,list(cut_slice j,k ) = {23, 29}, {38, 46 }. The yield is 0.905, and the cutting rule and the result requirement are met. Calculation of REL_TAPE current Score 0.1018, REL_TAPE current In list (cut_slice) j,k ) Copy to CUT SCH current Is (cut_slice) j,k ) Obtaining CUT_SCH current ={cut_start_idx=0,cut_end_idx=2160,cut_score=0.1018,list(cut_slice j,k ) = { {23, 29}, {38, 46}, the cut_sch will be current And (4) recording the current cutting scheme list in the step (4), and continuing to execute the step (9.1).
Step 9.1. Clearing REL_TAPE current And cut_sch current Is (cut_slice) j,k ). Updating CLUSTER_PARAM M =CLUSTER_PARAM M +1=1 because of cluster_param M =1 < 5, go to step 6.
Step 6 to step 9 are performed again, similarly to the above, and are given directly herein in CLUSTER_PARAM for space saving M Execution junction when=1The method comprises the following steps: continuing to execute the steps 6 to 9, and obtaining a cutting scheme as
CUT_SCH current ={cut_start_idx=0,cut_end_idx=2160,cut_score=0.1015,list(cut_slice j,k ) = {23, 32}, {38, 46}, the yield of the corresponding resultant tape was 0.906. CUT_SCH current The current cutting scheme list in step 4 is entered.
Continuing the loop execution, the process proceeds to step 11 in the case that the cluster information list is empty in step 10, and a current cutting scheme list containing 65 cutting schemes is obtained, and the 65 cutting schemes can be input on the input material belt by INDEX start =0 is the starting number, and 65 resulting strips are cut. Since the current clipping scheme list is not empty, step 11.1 is continued.
Step 11.1. Sorting 65 cutting schemes of the current cutting scheme list according to scores, and selecting the cutting scheme with the highest score as
CUT_SCH current ={cut_start_idx=0,cut_end_idx=2456,cut_score=0.1730,list(cut_slice j,k ) The cutting scheme is stored in the input web cutting scheme list = {23, 29}, {38, 46 }.
Updating INDEX start Value INDEX of (B) start =2456+1=2457, and updating INDEX again end The value of (2) is min {2456+2000, 2456} = 2456.INDEX start =2457 is greater than or equal to the number of input tapes 2457, and step 12 is continued.
Step 12. Solving an input tape cutting scheme list of the input tape, wherein one cutting scheme CUT_SCH is stored current ={cut_start_idx=0,cut_end_idx=2456,cut_score=0.1730,list(cut_slice j,k ) = {23, 29}, {38, 46 }. The visual results are shown in fig. 4.
Step 13. Since this embodiment n=1, the algorithm operation is all ended.
Example 2
Giving a COF reel material tape sequence information file, reading file data to obtainMaterial belt data information: the yield is 52.1%, the total number of products is 2910, and the number of good products is 1516; the tape sequence data is shown in fig. 5, which shows the product on the tape with a block pattern sequence from left to right and from top to bottom.
Setting a cutting rule parameter: RULE_PARAM head =3,RULE_PARAM segment =5,RULE_PARAM cut =15,RULE_PARAM ng =5;
Setting result requirement parameters: RULE_PARAM min_length =1000,RULE_PARAM max_length =5000,RULE_PARAM min_yield =0.6;
The visual display of the cutting scheme calculated by the system implementing the reel web cutting method is shown in fig. 5, and a result web meeting the cutting rule and result requirement can be cut from a given reel web. The yield of the product belt is 61.2%, the length is 1622, and the cutting rule and the result requirement are satisfied.
The following describes the calculation method of the cutting scheme in detail in combination with the calculation steps in the summary:
step 1, defining sequence information of reel material bands, and setting cutting rule parameters and result requirement parameters.
And 2, calculating target arrangement combinations of N reel tapes. In this embodiment, n=1, the permutation and combination may not be calculated;
and 3, determining an input material belt, and distributing an empty input material belt cutting scheme list for the input material belt for storing the cutting scheme of the input material belt.
In this embodiment n=1, the input tape sequence information isNamely +.>L INPUT =2909;
Step 4, defining the current candidate result TAPE REL_TAPE on the input TAPE current And is assigned a current cutting scheme CUT SCH current And a current clipping scheme list.
INDEX start =0,INDEX end =min{INDEX start +REL_PARAM min_length Number of input tape products L INPUT -1}=1000。
At this time list (cut_slice) j,k ) Is empty;
list(cut_slice j,k ) Is empty;
The current cutting scheme list is empty;
step 5, in the improved clustering algorithm: definition of the definitionTo cluster reel ribbon sequence information, valid_INDEX Cluster Assigning CLUSTER_PARAM for reel materials to be clustered with effective sequence number information M =0。
Step 6, defining an empty material belt sequence information as an input material belt copy, copying the input material belt sequence information into the input material belt copy, and adding REL_TAPE to the input material belt copy current RULE_PARAM following the header sequence number rel_start_idx head The product information is modified to a defective item tag 0, i.e., the first 3 products on the input web copy are modified to defective items.
Step 7, calculating the NUMBER of defective products to be cut off on the current candidate result material belt to obtain NUMBER need_to_cut =-284。
Step 8. According to NUMBER need_to_cut Determining the current candidate result TAPE REL_TAPE current Cutting scheme cut_sch current
Because of NUMBER need_to_cut = -284 < 0, so step 8.1 is performed, including step 8.1.1 and step 8.1.2.
Step 8.1.1. Cutting out the strip segments that violate the "defective rule".
Clearing the cluster information list and the pre-cutting cluster information list, taking the input material belt copy as a coil material belt to be clustered, and taking REL_TAPE current Extracting effective serial number information, performing improved clustering to obtain a class cluster information list containing 471 class clusters, finding out defective class clusters with the class cluster length being more than or equal to 5, and storing the defective class clusters in the pre-cut class cluster information list. Because the list of pre-cut cluster information is not empty, the first cluster {0, 24,0,1} is taken.
Executing cutting operation and updating REL_TAPE current ={rel_start_idx=0,rel_end_idx=1000,list(cut_slice j,k ) = {0, 24}, determine updated rel_tape current Updating NUMBER without violating header, NUMBER and fragment rules need_to_cut =-284+25=-259。
Continuing to fetch the next cluster {30, 40,0,1} in the pre-cut cluster information list, performing the cutting operation again, and updating REL_TAPE current ={rel_start_idx=0,rel_end_idx=1000,list(cut_slice j,k ) = {0, 24}, {30, 40}, and determining updated rel_tape current Updating NUMBER without violating header, NUMBER and fragment rules need_to_cut =-259+11=-248。
Continuing to fetch the next cluster {46, 50,0,1} in the pre-cut cluster information list, performing the cutting operation again, and updating REL_TAPE current ={rel_start_idx=0,rel_end_idx=1000,list(cut_slice j,k ) = {0, 24}, {30, 40}, {46, 50}, and the updated REL-tap is determined current Updating NUMBER without violating header, NUMBER and fragment rules need_to_cut =-248+15=-237。
And omitting part of repeated intermediate steps and continuing calculation.
ContinuingTaking the next cluster {500, 504,0,1} in the pre-cut cluster information list, executing step 8.1.1.2 again for cutting, and updating REL_TAPE current ={rel_start_idx=0,rel-end-idx=1000,list(cut_slice j,k ) The updated REL-TAPE is determined by = { {0, 24}, {30, 40}, {46, 50}, {62, 67}, {89, 96}, {117, 125}, {205, 209}, {255, 259}, {271, 275}, {287, 292}, {304, 311}, {350, 357}, {404, 411}, {417, 426}, {434, 442}, {500, 504} current Updating NUMBER without violating header, NUMBER and fragment rules need_to_cut = -151. At this time, the list of pre-cut cluster information is empty, and step 8.1.2 is performed.
Step 8.1.2 to improve yield, some defective products are cut out.
NUMBER at this time need_to_cut And (3) when the number of the residual class clusters is less than 0, clearing the class cluster information list and the pre-cutting class cluster information list, clustering to obtain a class cluster information list, finding out the residual class clusters from the class cluster information list, arranging the residual class clusters in the pre-cutting class cluster information list, and storing the residual class clusters in the pre-cutting class cluster information list, and taking the first class cluster {737, 745,0,1} of the pre-cutting class cluster information list.
Executing cutting operation and updating REL_TAPE current ={rel_start_idx=0,rel_end_idx=1000,list(cut_slice j,k ) {0, 24}, {30, 40}, {46, 50}, {62, 67}, {89, 96}, {117, 125}, {205, 209}, {255, 259}, {271, 275}, {287, 292}, {304, 311}, {350, 357}, {404, 411}, {417, 426}, {434, 442}, {500, 504}, {753, 745}, at which time REL TAPE current Violating the "times rule" requires that the cut be reversed, i.e., removing {753, 745}, rel_tape current ={rel_start_idx=0,rel_end_idx=1000,list(cut_slice j,k ) {0, 24}, {30, 40}, {46, 50}, {62, 67}, {89, 96}, {117, 125}, {205, 209}, {255, 259}, {271, 275}, {287, 292}, {304, 311}, {350, 357}, {404, 411}, {417, 426}, {434, 442}, {500, 504 }. Taking the next class CLUSTER in the pre-cut class CLUSTER list as the CLUSTER current The cutting operation is continued.
Due to REL_TAPE current There are already 15 cuts ({ 0, 24} in the header, not present on the resulting TAPE, not counting the number of cuts), so after continuing to perform cuts, REL_TAPE current The "count rule" will still be violated until REL_TAPE current And (3) continuing to execute the step (9) for pre-cutting the last class cluster of the class cluster information list.
Step 9, confirming the REL_TAPE of the material belt of the current candidate result current And (3) whether the cutting rule and the result requirement in the step (1) are met, calculating the cutting scheme score, and updating the current cutting scheme list in the step (4).
At this time, REL_TAPE current The yield of (2) is 0.497, the lower limit of the yield required by the result is not met, and step 9.1 is executed.
Step 9.1. Clearing REL_TAPE current And cut_sch current Is (cut_lice) j,k ). Updating CLUSTER_PARAM M =CLUSTER_PARAM M +1=1 because of cluster_param M =1 < 5, go to step 6.
Thus far, CLUSTER_PARAM is completed M For rel_tape when=0 current Cutting calculation of (2), CLUSTER_PARAM is performed below M For rel_tap when=1 current Is performed in the cutting operation of (a).
For the sake of space, the execution of steps 6 to 8 is skipped here, and the calculation result of step 9 is directly given.
Step 9, confirming the REL_TAPE of the material belt of the current candidate result current And (3) whether the cutting rule and the result requirement in the step (1) are met, calculating the cutting scheme score, and updating the current cutting scheme list in the step (4).
At this time, REL_TAPE current The yield of (2) is 0.524, the lower limit of the yield required by the result is not met, and step 9.3 is executed.
Step 9.1. Clearing REL_TAPE current And cut_sch current Is (cut_lice) j,k ). Updating CLUSTER_PARAM M =CLUSTER_PARAM M +1=2 because of cluster_param M =2 < 5, go to step 6.
Thus far, CLUSTER_PARAM is completed M For rel_tap when=1 current Is performed in the cutting operation of (a). From CLUSTER_PARAM M =0 and cluster_param M The calculation result of =1 shows that, in the sequence number interval of 0-1000, the length of the result tape cannot meet the lower limit of the number in the result requirement, and therefore the cluster_param is used for cutting out a plurality of continuous defective tape segments M =2、CLUSTER_PARAM M =3、CLUSTER_PARAM M =4、CLUSTER_PARAM M Step analysis and cluster_param when=5 M Similar to =1, the clipping scheme satisfying the clipping rules and the result requirements cannot be solved, and the clipping_param is skipped here for saving space M =2、CLUSTER_PARAM M =3、CLUSTER_PARAM M Execution procedure when=4, jump directly to cluster_param M The analysis performed at step 9.1 when=5.
Step 9.1. Clearing REL_TAPE current And cut_sch current Is (cut_slice) j,k ). Updating CLUSTER_PARAM M =CLUSTER_PARAM M +1=6 because of cluster_param M =6 > 5, step 10 is performed.
Step 10, emptying a CLUSTER information list, and assigning CLUSTER_PARAM M =1. The input material belt is used as the information of the reel material belt to be clustered, and the valid serial number information { valid_start_idx=1, valid_end_idx=1000, list (invalid_slice) j,k )},list(invalid_slice j,k ) If the result is empty, performing improved clustering calculation, and storing the result into a cluster information list; traversing the search cluster information list to find the first one whose clu _end_idx value is greater than INDEX end Cluster-like information of =1000 for INDEX end And performing expansion. After successful lookup, INDEX will be updated end Value, reset and update cut_sch current And REL_TAPE current Assignment CLUSTER_PARAM M =0, continuing to execute step 6;
in the present embodiment, for INDEX end The expansion of (c) until its value 1727 will not solve for a clipping scheme that meets the clipping rules and results requirements, and therefore, part of the intermediate process is skipped here until INDEX end After=1727, go to step 6 for execution.
And so far, solving a cutting scheme for the current candidate result material belt with the sequence number interval of 0-1727 on the input material belt. From the jump to step 6 execution starts. At this time, the liquid crystal display device,
REL_TAPE current ={rel_start_idx=0,rel_end_idx=1727,list(cut_slice j,k )={}},
CUT_SCH current ={cut_start_idx=0,cut_end_idx=1727,cut_score=
0,list(cut_slice j,k )={}},CLUSTER_PARAM M =0。
step 6, copying an input TAPE sequence information called an input TAPE copy, and applying REL_TAPE to the input TAPE copy current RULE_PARAM following the header sequence number rel_start_idx head The individual product information is modified to a defective item mark 0. I.e. the first 3 products on the input web copy are modified to defective.
The intermediate steps are omitted, and the operation is continued until:
step 9.1. Clearing REL_TAPE current And cut_sch current Is (cut_slice) j,k ). Updating CLUSTER_PARAM M =CLUSTER_PARAM M +1=1 because of cluster_param M =1 < 5, go to step 6.
Step 6 to step 9 are performed again, similarly to the above, for the sake of space, directly described herein in CLUSTER_PARAM M When=1, 2, 3, the clipping scheme still cannot be solved, and the cluster_param is continued to be executed M In the case of=4, steps 6 to 9, the first rel_tape satisfying the cutting rule and result requirement can be calculated current ={rel_start_idx=320,rel_end_idx=1727,list(cut_slice j,k )={{338,341},{350,534},{605,642},{687,777},{1259,1325},{1364,1383}}}。
Continuing to circularly execute, in the case that the cluster information list is empty in the step 10, the process proceeds to the step 11, and a current cutting scheme list containing 534 cutting schemes is obtained. Since the current clipping scheme list is not empty, step 11.1 is continued.
Step 11.1. Sorting 534 cutting schemes of the current cutting scheme list according to scores, and selecting the cutting scheme with the highest score as
CUT_SCH current ={cut_start_idx=0,cut_end_idx=2735,cut_score=0.5262,list(cut_slice j,k ) The cutting scheme is stored in the input tape cutting scheme list = {0, 298}, {304, 324}, {338, 341}, {350, 366}, {404, 450}, {500, 534}, {605, 642}, {687, 696}, {724, 777}, {1259, 1291}, {1364, 1383}, {1729, 1749}, {1939, 1964}, {2135, 2139}, {2420, 2469}, {2487, 2510 }.
Updating INDEX start Value INDEX of (B) start =2735+1=2736, and updating INDEX again end The value of (2) is min {2736+1000, 2910} = 2910.INDEX start =2736 is less than the input strip length 2910, and go to step 5 to continue solving.
Continuing the solution, since the number of products between 2736 and 2910 is less than 1000, it is known that when the execution goes to step 11, step 11.2 is executed, i.e. the current clipping scheme list is empty.
Step 11.2. Structure
CUT_SCH current ={cut_start_idx=2736,cut_end-idx=2909,cut_score=-1,list(cut_slice j,k ) = { {2736, 2909} }, this cutting scheme is stored in the input tape cutting scheme list. Updating INDEX start Value INDEX of (B) start =2909+1=2910, which is greater than or equal to the input tape length 2910, and step 12 is continuously executed;
step 12. Solving the input tape cutting scheme list of the input tape, wherein two cutting schemes CUT_SCH are stored 1 ={cut_start_idx=0,cut_end_idx=2735,cut_score=0.5262,list(cut_slice j,k ) = {0, 298}, {304, 324}, {338, 341}, {350, 366}, {404, 450}, {500, 534}, {605, 642}, {687, 696}, {724, 777}, {1259, 1291}, {1364, 1383}, {1729, 1749}, {1939, 1964}, {2135, 2139}, {2420, 2469}, {2487, 2510}, and cut_sch 2 ={cut_start_idx=2736,cut_end_idx=2909,cut_score=-1,list(cut_slice j,k )={{2736,2909}}}。
Removing CUT SCH with score less than 0 2 And obtaining a final input material belt cutting scheme list. The visual results are shown in fig. 5.
Step 13. Since this embodiment n=1, the algorithm operation is all ended.
Example 3
Given three COF material beltsThe material belt data information is respectively as follows: the yield is 87.2 percent, and the total number of products is 2000; the yield is 87.9%, and the total number of products is 2000; the yield is 87.7%, and the total number of products is 2000.
Setting a cutting rule parameter: RULE_PARAM head =3,RULE-PARAM segment =5,RULE_PARAM cut =15,RULE_PARAM ng =5;
Setting result requirement parameters: RULE_PARAM min_length =2000,RULE-PARAM max_length =3000,RULE_PARAM min_yield =0.8;
The visual display of the cutting scheme obtained by the system calculation for realizing the reel material belt cutting method is shown in the figure 6, wherein the yield of the material belt obtained by the first section is 80.57%, the length is 2991, the starting and ending numbers are 0 and 2995, the material belt segment 505-509 does not meet the cutting rule, the material belt segment needs to be cut off, and the material belt segment is marked by black X; the second stage has a final tape yield of 80.52%, a length of 2999, and start and stop numbers of 2996 and 5999, wherein the tape segment 4070-4074 does not meet the cutting rule, and needs to be cut off and marked with black x.
The following describes the calculation method of the cutting scheme in detail in combination with the calculation steps in the summary:
step 1, defining sequence information of reel material bands, and setting cutting rule parameters and result requirement parameters.
And 2, calculating target arrangement combinations of N reel tapes.
In this embodiment n=3, there are 3 ∈=6 permutation and combination modes: {1,2,3}, {1,3,2}, {2,1,3}, {2,3,1}, {3,2,1}, and {3,1,2}; the piecewise yield variance of the 6 permutation and combination is calculated respectively to obtain: {1,2,3} = 0.00029861927, {1,3,2} = 0.0005093217, {2,1,3} = 0.0003323555, {2,3,1} = 0.000346601, {3,2,1} = 0.0002630353, {3,1,2} = 0.000519216061;
Sequencing the yield variance values from large to small to obtain corresponding permutation and combination { PER } 1 ={3,1,2},PER 2 =1,3,2,PER3={2,3,1},PER4={2,1,3},PER5={1,2,3},PER6={3,2,1};
Get front P N =4 permutation combinations defined as target permutation combinations, denoted { PER } 1 ={3,1,2},PER 2 ={1,3,2},PER 3 ={2,3,1},PER 4 ={2,1,3}}。
And 3, determining an input material belt, and distributing an empty input material belt cutting scheme list for the input material belt for storing the cutting scheme of the input material belt.
In this embodiment n=3, the first permutation {3,1,2} of the target permutation is first taken, and the sequence information of the 3 reels of material tape is concatenated end to end in this order to obtain a combined material tape, and this combined material tape is recorded as an input material tape, and the visual display is shown in fig. 6,
after the input tape is obtained, the execution of the subsequent steps is similar to that of embodiment 1 and embodiment 2, and will not be repeated.
Example 4
This embodiment is used to explain the improved clustering algorithm computation process.
Step a, giving sequence information and effective sequence number information of reel tapes to be clustered.
In the present embodiment, given sequence information
TAPE_INFO Cluster = {1,0,1,1,1,1,1,1,0,0,1,1,1,1,1,0,0,1,0,1,1,1,1}, sequence length L cluster =23。
This practice isEmbodiment VALID sequence number information valid_index Cluster ={valid_start_idx=0,valid_end_idx=22,list(invalid_slice j,k ) = {10, 16}, i.e., the entire sequence information is an invalid region from sequence number 10 to sequence number 16, and does not participate in the cluster calculation.
Given parameter CLUSTER_PARAM M =1。
And b, executing an improved clustering algorithm to obtain a list of the reel material belt clusters to be clustered.
Step b.1: definition Cluster start =0,Cluster end =Cluster start . Definition CL processing . Distributing TAPE_INFO Cluster_Tmp
Step b.2: determining the current result CLUSTER CLUSTER processing And will CLUSTER processing Storing a list of coil bands to be clustered:
step b.2.1: assignment CLUSTER processing Clu _type of (C) 0/1 =1 because of the tape_info Cluster The value at sequence number 0 is 1; cluster for extracting information of reels to be clustered end Information value at sequence number is stored in TAPE_INFO Cluster_Tmp At this time, TAPE_INFO is ending Cluster_Tmp ={1};
Step b.2.2: assignment Cluster end =Cluster end +1=1, valid_index Cluster Extracting the information Cluster of the reel material bands to be clustered from the valid serial numbers end Information value at sequence number is stored in TAPE_INFO Cluster_Tmp At the end, TAPE_INFO Cluster_Tmp = {1,0}. Step b.2.3 is performed.
Step b.2.3: cluster end =1, less than 22, and step b.2.3.2 is performed, followed by step b.2.2, because the number of consecutive different values is 1.
Step b.2.2: assignment Cluster end =Cluster end +1=2, valid_index Cluste r, extracting reel material band information Cluster to be clustered end Information value at sequence number is stored in TAPE_INFO Cluster_Tmp At the end, TAPE_INFO Cluster_Tmp = {1,0,1}, step b.2.3 is performed.
Step b.2.3: cluster end =2, less than 22, and step b.2.3.2 is performed, followed by step b.2.2, because the number of consecutive different values is 1.
It is foreseen that the execution of steps b.2.2 and b.2.3 will be repeated until:
step b.2.2 assignment Cluster end =Cluster end +1=9, is valid_index cluster Extracting the information Cluster of the reel material bands to be clustered from the valid serial numbers end Information value at sequence number is stored in TAPE_INFO Cluster_Tmp At the end, TAPE_INFO Cluster_Tmp = {1,0,1,1,1,1,1,1,0,0}. Step b.2.3 is performed.
Step b.2.3: cluster end =9, less than 22, and because the number of consecutive different values is 2, greater than cluster_param M =1, step b.2.3.1 is performed.
Step b.2.3.1: TAPE_INFO Cluster_Tmp The products are not the same class of products, and the CLUSTER is assigned processing Clu _confisisflag of (2) 0/1 Clu_start_idx=0, clu_end_idx=9-1=8, and CLUSTER at this time processing ={clu_start_idx=0,clu_end_idx=8,clu_type 0/1 =1,clu_consisflag 0/1 =0 }, will CLUSTER processing And c, storing a list of the coil bands to be clustered, and continuously executing the step b.3.
Step b.3 updating Cluster start Has a value of Cluster start =Cluster end =9, update Cluster end =9, empty tap_info Cluster_Tmp Reset CLUSTER processing Go to step b.1.
So far, a cluster-like result is obtained, and the calculation is continued:
step b.1 correction Cluster start Has a value of valid_INDEX Cluster The first is greater than or equal to Cluster start Valid sequence number Cluster of values start =9,Cluster end =9. Definition of CLUSTER processing . Distributing TAPE_INFO Cluster _Tmp
Step b.2 determining the current result CLUSTER CLUSTER processing And will CLUSTER processing Storing a list of coil bands to be clustered:
step b.2.1 assignment of CLUSTER processing Clu _type of (C) 0/1 =0 because of the tape_info Cluster The value at sequence number 9 is 0; cluster for extracting information of reels to be clustered end Information value at sequence number is stored in TAPE_INFO Cluster_Tmp At this time, TAPE_INFO is ending Cluster_Tmp ={0};
Step b.2.2 assignment Cluster end =Cluster end +1=10, not valid_index Cluster Valid sequence number on Cluster and updating Cluster again end The values are: cluster end =Cluster end +1=11, and continues with the Cluster until the end of the effective zone is not reached end The values are: cluster end =Cluster end +1=12, and so on until Cluster is updated end The values are: cluster end =Cluster end +1=17, as a valid sequence number, extract the strip information to the tape_info Cluster_Tmp = {0,1}, step b.2.3 is performed.
Step b.2.3Cluster end =17, less than 22, and step b.2.3.2 is performed, followed by step b.2.2, because the number of consecutive different values is 1.
Step b.2.2 assignment Cluster end =Cluster end +1=18, valid_index Cluster Extracting the information Cluster of the reel material bands to be clustered from the valid serial numbers end Information value at sequence number is stored in TAPE_INFO Cluster_Tmp At the end, TAPE_INFO Cluster_Tmp = {0,1,0}. Step b.2.3 is performed.
Step b.2.3Cluster end =18, less than 22, and step b.2.3.2 is performed, followed by step b.2.2, because the number of consecutive different values is 1.
It is foreseen that the execution of steps b.2.2 and b.2.3 will be repeated until:
step b.2.2 assignment Cluster end =Cluster end +1=20, valid_index Cluster Extracting the information Cluster of the reel material bands to be clustered from the valid serial numbers end Information value at sequence number is stored in TAPE_INFO Cluster_Tmp At the end, TAPE_INFO Cluster_Tmp = {0,1,0,1,1}. Step b.2.3 is performed.
Step b.2.3Cluster end =20, less than 22, and because the number of consecutive different values is 2, greater than cluster_param M =1, step b.2.3.1 is performed.
Step b.2.3.1TAPE_INFO Cluster_Tmmp The products are not the same class of products, and the CLUSTER is assigned processing Clu _confisisflag of (2) 0/1 Clu_start_idx=9, clu_end_idx=20—1=19, at which point CL processing ={clu_start_idx=9,clu_end_idx=19,clu_type 0/1 =0,clu_consisflag 0/1 =0 }, will CLUSTER processing And c, storing a list of the coil bands to be clustered, and continuously executing the step b.3.
Step b.3 updating Cluster start Has a value of Cluster start =20, update Cluster end =20, empty tap_info Cluster_Tmp Reset CLUSTER processing Go to step b.2.
So far, a cluster-like result is obtained, and calculation is continued.
And continuing the clustering step, wherein three kinds of clusters are respectively arranged in the to-be-clustered reel material belt cluster list: CLUSTER 1 ={clu_start_idx=0,clu_end_idx=8,clu_type 0/1 =1,clu_consisflag 0/1 =0}CLUSTER 2 ={clu_start_idx=9,clu_end_idx=19,clu_type 0/1 =0,clu_consisflag 0/1 =0}CLUSTER 3 ={clu_start_idx=20,clu_end_idx=22,clu_type 0/1 =1,clu_consisflag 0/1 =1}
The visualization results are shown in fig. 7:
the first row is a material belt visual image to be clustered, the gray background is a defective product, and the white background is a good product;
a second behavior clustering result visual diagram, wherein a serial number interval of a position corresponding to a'@' mark is a first result cluster; the serial number interval of the corresponding position of the'#' mark is a second result cluster; the serial number interval of the corresponding position of the' mark is a third result cluster; the dark gray background marks the invalid section corresponding to the sequence number section.

Claims (10)

1. A method of cutting a reel of web material, comprising the steps of:
step 1: cutting N reels of material, and representing N reels of material sequence information as K is more than or equal to 1 and less than or equal to N; wherein 0 represents defective products and 1 represents good products; k represents the Kth reel material belt, i represents the serial number of the ith product on the reel material belt, and the value range of i and L is more than or equal to 0 and less than or equal to L K ,L K Indicating the total number of products on the Kth reel material belt; setting a cutting rule and a result requirement;
step 2: the N reels of material strips are arranged and combined to obtain N-! The individual band combination mode, N-! The reel material belts of the combination mode are connected in series end to obtain N-! Combining the material belts; at N-! Respectively executing a segmentation yield variance algorithm on each combined material belt to obtain a yield variance value VAR of each combined material belt tape Arranging the variance values from large to small, and taking the largest front P N The combined material belts after the arrangement and combination are used as target combined material belts, and cutting scheme calculation is carried out;
step 3: determining an input web, assigning an empty input web cutting scheme list to the input web for storing the cutting scheme CUT_SCH of the input web l And define and CUT_SCH l The corresponding result material belt is REL_TAPE l
Step 4: defining a current candidate result band as REL_TAPE on an input band current To which a current cutting scheme list is assigned for saving the current cutting scheme cut_sch current And is ofThe current candidate result material belt and the current cutting scheme are assigned initial values;
step 5: defining parameters in an improved clustering algorithm, comprising:to cluster reel ribbon sequence information, valid_INDEX Cluster The reels to be clustered are provided with valid sequence number information, CLUSTER is a CLUSTER, and CLUSTER_PARAM M (0≤CLUSTER_PARAM M ≤RULE_PARAM segment ) The initial value is 0 for the assigned parameter;
step 6: defining an empty tape sequence information as an input tape copy, copying the input tape sequence information into the input tape copy, and copying the RULE_PARAM after the head sequence number rel_start_idx of the current candidate result tape on the input tape copy head The individual product information is modified into a defective product mark 0;
Step 7: calculating the NUMBER of defective products to be cut off on the current candidate result material belt, which is defined as the NUMBER of products to be cut off NUMBER need_to_cut
Step 8: according to NUMBER need_to_cut Is based on the value of the improved clustering algorithm to determine the current candidate result band REL _ tap current Cutting scheme cut_sch current
Step 9: confirming REL_TAPE of current candidate result material belt current Whether the cutting rule and the result requirement in the step 1 are met or not; if yes, then to REL_TAPE current Executing the result material band score, and assigning the score to the cutting scheme CUT_SCH current The updated CUT-off scheme CUT_SCH current Recording the current cutting scheme list in the step 4, and turning to the step 9.1; if not, directly executing the step 9.1;
step 9.1: emptying REL_TAPE current And cut_sch current Is (cut_slice) j,k ) Updating CLUSTER_PARAM M The value of (2) is CLUSTER_PARAM M =CLUSTER_PARAM M +1; if the CLUSTER_PARAM after updating the value M ≤RULE_PARAM segment Turning to step 6; if the CLUSTER_PAR after updating the valueAM M >RULE_PARAM segment Step 10 is executed;
step 10: backward extending a current candidate result band REL-tap on an input band current Sequence number interval, reset and update cut_sch current And REL_TAPE current Then, solving is continued;
step 11: determining a slave sequence number INDEX on the input web from the current cutting scheme list start Optimal cutting scheme to end of tape, then update INDEX start Value, update cut_sch after reset current And REL_TAPE current Continuing to solve;
step 12: solving to obtain an input material belt cutting scheme list, storing one or more cutting schemes, and sequentially executing the cutting schemes on the input material belt to obtain one or more corresponding result material belts;
step 13: repeatedly executing the steps 3 to 11 until the solution obtains P N P of the input tapes obtained under individual permutation and combination N And inputting a tape cutting scheme list.
2. A reel strip cutting method as defined in claim 1, wherein: the cutting rule comprises a head rule, a frequency rule, a defective product rule and a fragment rule, and is specifically as follows:
head rule: if the number of continuous defective products at the head of the result material belt is greater than the upper limit value RULE_PARAM head If the determined result tape violates the head RULE, RULE_PARAM head ≥0;
The number of times rule: if the cutting times of the result material belt are greater than the upper limit value RULE_PARAM cut Determining that the result band violates the RULE of number of times, RULE_PARAM cut >0;
Defective product rule: if the number of continuous defective products on the resultant material belt is greater than the upper limit value RULE_PARAM ng Judging that the result material belt violates the RULE of defective products, RULE_PARAM ng ≥0;
Fragment rule: if the number of products between two adjacent cutting positions on the resultant material belt is smallAt the lower limit value RULE_PARAM segment Determining that the result band violates the segment RULE, RULE_PARAM segment ≥0。
3. A reel strip cutting method as defined in claim 1, wherein: the result requirement includes: (1) The number of the product of the resultant material belt is larger than the lower limit value REL_PARAM min_length
(2) The number of the product of the material belt is smaller than the upper limit value REL_PARAM max_length
(3) The yield of the resultant material belt is greater than or equal to the lower limit value REL_PARAM min_yield
4. A reel strip cutting method as defined in claim 1, wherein: the process of the segmentation yield variance algorithm in the step 2 is as follows:
step 2.1: let L be INPUT For the sum of the number of N reel material belt products, calculating the number L of the segmented products segment The calculation formula is as follows:
step 2.2: sequentially taking L from the combined material belt segment Product, construct a temporary sectional material beltCalculating the yield of the temporary sectional material belt, and storing the yield into a sectional yield list;
step 2.3: and taking the yield data in the segmented yield list as input, and calculating the variance of the yield data.
5. A reel strip cutting method as defined in claim 1, wherein: the process of the step 7 is as follows:
Step 7.1: judging whether the yield of the material belt of the previous candidate result is more than or equal to the lower limit value REL_PARAM min_yield If yes, executing step 7.2, otherwise executing step 7.3;
Step 7.2: calculating the NUMBER of products to be cut need_to_cut The formula is as follows:
step 7.3: calculating the NUMBER of products to be cut need_to_cut The formula is as follows:
wherein OK_CNT represents the number of good products on the current candidate result tape, and NG_CNT represents the number of defective products on the current candidate result tape.
6. A reel strip cutting method as defined in claim 1, wherein: the process of the step 8 is as follows:
step 8.1: distributing a cluster information list and a pre-cut cluster information list, and judging NUMBER need_to_cut If the value of (2) is less than 0, executing step 8.2 if the value is satisfied, otherwise executing step 8.3:
step 8.2: if NUMBER is used need_to_cut If the number of times of cutting out the material belt fragments is smaller than 0, cutting out partial defective products for improving the yield on the basis of cutting out the material belt fragments which violate the head rule, the number of times rule and the fragment rule;
step 8.3: if NUMBER is used need_to_cut And (3) cutting out only the material belt fragments which violate the head rule, the frequency rule and the fragment rule, wherein the material belt fragments are larger than or equal to 0.
7. A reel strip cutting method as defined in claim 1, wherein: the process of the improved clustering algorithm is as follows:
Step a: setting sequence information and effective serial number information of reel material bands to be clustered
Defining valid sequence number information of reel materials to be clustered:
VALID_INDEX Cluster ={valid_start_idx,valid_end_idx,list(invalid_slice j,k ) In which valid_start_idx and valid_end_idx represent valid_index, respectively Cluster The start and stop numbers of (2) are 0.ltoreq.valid_start_idx < valid_end_idx < L cluster ;invalid_slice j,k Indicating an invalid sequence number interval, indicating that the invalid sequence number between the cut sequence numbers j and k is smaller than or equal to j, and k is smaller than or equal to valid_end_idx;
from the resultant web REL_TAPE l ={rel_start_idx,tel_end_idx,list(cut_slice j,k ) Extracting valid sequence number information in the sequence number information refers to assigning valid_start_idx=rel_start_idx, valid_end_idx=rel_end_idx, and copy list (cut_slice) j,k ) To list (invalid_slice) j,k ) In (a) and (b);
VALID sequence number information valid_index Cluster The upper valid sequence number is located between valid_start_idx and valid_end_idx, but not located in list (invalid_slice) j,k ) Sequence numbers on the invalid sequence number interval; the rest are invalid sequence numbers;
when the clustering calculation is improved, the calculation is only carried out aiming at the information marked by the effective serial number of the effective serial number information on the reel material belt sequence information to be clustered;
the class CLUSTERs are expressed as CLUSTER= { clu _start_idx, clu _end_idx, clu __ type 0/1 ,clu_consisflag 0/1 Clu _start_idx and clu _end_idx represent cluster intervals, clu _start_idx represents the start sequence number of a cluster on the reel tape to be clustered, clu _end_idx represents the end sequence number of a cluster on the reel tape to be clustered, and the difference between clu _end_idx and clu _start_idx represents the cluster length; clu _type 0/1 Representing the class of the class cluster, and taking the value of 0 or 1; clu _confisisflag 0/1 Indicating whether the consistency flags of the clusters, i.e. the products between the cluster sequence number range clu _start_idx to clu _end_idx on the reel strip to be clustered, are of the same class, if so, clu _consistency flag 0/1 Take the value of 1, otherwise, clu _confisisflag 0/1 The value is 0; reset class cluster representation assigns clu _start_idx=0, clu_end_idx=0, clu_type 0/1 =1,clu_consisflag 0/1 =1;
Given parameter CLUSTER_PARAM M CLUSTER_PARAM M In the clustering process, continuously showing the upper limit of the number of products which are different from the class of the cluster;
step b: performing an improved clustering algorithm to obtain a to-be-clustered reel material belt cluster list, and storing defective product clusters and good product clusters in the list;
step b.1: defining the starting sequence number of the current Cluster interval as Clusterstart, cluster start Initial value of 0, correct Cluster start Has a value of valid_INDEX Cluste The first one on r is greater than or equal to Cluster start Valid sequence number of value, end sequence number of current Cluster interval is Cluster end The method comprises the steps of carrying out a first treatment on the surface of the Setting Cluster end Initial value is Cluster start Value, defining current result CLUSTER CLUSTER processing The method comprises the steps of carrying out a first treatment on the surface of the Distributing a temporary reel TAPE information TAPE_INFO Cluster_Tmp Clearing the information data;
step b.2: determining the current result CLUSTER CLUSTER processing And will CLUSTER processing Storing a to-be-clustered reel material belt cluster list, which is realized through the following steps:
step b.2.1: cluster in sequence information of reel material bands to be clustered start Information data value at sequence number is assigned to current result CLUSTER CLUSTER processing Clu _type of (C) 0/1 The method comprises the steps of carrying out a first treatment on the surface of the Cluster for extracting information of reels to be clustered start Information data value at sequence number is stored in TAPE_INFO Cluster_Tmp Ending;
step b.2.2: incremental Cluster end The value of (i.e. assigned Cluster) end =Cluster end +1; judging updated Cluster end Whether or not it is valid_INDEX Cluster A valid sequence number on the table;
if the information is the valid sequence number, extracting the information Cluster of the reel material bands to be clustered end Information data value at sequence number is stored in TAPE_INFO Cluster_Tmp And finally, executing the step b.2.3;
if the serial number is invalid, updating the Cluster again end The values are: clus (Clus)ter end =Cluster end +1, and judge updated Cluster end Whether or not to be greater than or equal to valid_INDEX Cluster If the value of valid_end_idx is greater than or equal to the value of valid_end_idx, executing the step b.2.3, otherwise, executing the step b.2.2 again;
step b.2.3: judging Cluster end Whether the value is greater than or equal to valid_INDEX Cluster Valid_end_idx value of (2);
if Cluster end The value is greater than or equal to the valid_end_idx value, indicating that the end of the valid sequence number information has been reached, and checking the temporary reel TAPE information TAPE_INFO Cluster_Tmp If the products are the same type of products, assigning CLUSTER processing Clu _confisisflag of (2) 0/1 1, otherwise, assigning 0; assignment CLUSTER processing Clu _start_idx value of Cluster start Assigning clu _end_idx to Cluster end Will CLUSTER processing C, storing a to-be-clustered reel material belt cluster list, and then turning to the step c;
if Cluster end If the value is smaller than the valid_end_idx value, continuing to execute the step b.2.3.1 or the step b.2.3.2;
step b.2.3.1: if the temporary reel TAPE information TAPE_INFO Cluster_Tmp Upper continuous occurrence and CLUSTER processing Clu _type of (C) 0/1 The number of different data values is greater than CLUSTER_PARAM M Then check TAPE_INFO Cluster_Tmp If the products are the same type of products, assigning CLUSTER processing Clu _confisisflag of (2) 0/1 1, otherwise, assigning 0; assignment CLUSTER processing Clu _start_idx value of Cluster start Assigning clu _end_idx to Cluster end 1, CLUSTER processing B, storing a to-be-clustered reel material belt cluster list, and turning to the step b.3 to continue calculation;
step b.2.3.2: if the coil material to be clustered is provided with Cluster start And Cluster end Between successive occurrences and CLUSTER pro Clu _type of (C) 0/1 The number of different data values is less than or equal to CLUSTER_PARAM M And then, turning to the step b.2.2 to continue calculation;
Step b.3: updating Cluster start Has a value of Cluster start =Cluster end Then empty the temporary reel TAPE information TAPE_INFO Cluster_Tmp Reset CLUSTER processing Then, turning to the step b.1 to continue calculation;
step c: and (3) outputting a list of the reel bands to be clustered.
8. A reel strip cutting method as defined in claim 1, wherein: the calculation method of the result material belt score in the step 9 is as follows:
Score total =α*Score yield +(1-α)*Score length Score yield
=(Yield result -REL_PARAM min_yield )/REL_PARAM min_yield Score length
=(Length result -REL_PARAM min_length )/REL_PARAM min_length
wherein Score total Representing the scoring of the result tape to be scored, the Score being derived from the yield Score yield And length Score length Composition, parameter α represents scoring weight; YIeld result Representing the yield of the material tape of the result to be scored, REL_PARAM min_yield Representing a lower limit of yield; length result Indicating the number of products in the material band of the result to be scored, REL_PARAM min_length The lower limit value of the number of the product in the material belt is indicated as a result.
9. A reel strip cutting method as defined in claim 1, wherein: the process of the step 11 is as follows:
the expansion method comprises the following steps: updating INDEX on input tape for marking end product serial number of current candidate result tape end
Clearing a CLUSTER information list, and assigning CLUSTER_PARAM M =1, the input tape is taken as the reel tape to be clustered, the construction is validSequence number information valid_index Cluster Wherein valid_start_idx=index end ,valid_end_idx=L INPUT -1,list(invalid_slice j,k ) If the result is empty, performing improved clustering calculation, and storing the result into a cluster information list;
if the cluster information list is not empty, INDEX is added end Is updated to clu _end_idx value +1 of the first cluster of the cluster information list, and the cut_sch is reset current And REL_TAPE current Updating REL_TAPE current The rel_start_idx value of (2) is INDEX start The rel_end_idx value is INDEX end A value; updating CUT SCH current The cut_start_idx value of (2) is INDEX start The cut end idx value is INDEX end A value; assignment CLUSTER_PARAM M =0, continuing to execute step 6;
if the cluster information list is empty, the step 11 is continued.
10. A system for carrying out the method of claim 1, comprising: the device comprises a reel material belt sequence information file reading module, a parameter setting module, a cutting scheme calculating module and a cutting scheme outputting module;
the reel material belt sequence information file reading module comprises a reel material belt sequence information file reading module: for opening and reading N reels of material belt sequence information files, wherein N is more than or equal to 1, and the read content is stored to the material belt sequence information asThe reel material belt sequence information file stores reel material belt sequence information in a data sequence format, wherein the data sequence is a sequence formed by characters '0' and '1', or a sequence formed by numbers 0 and 1;
The parameter setting module is used for: the method comprises the steps of inputting a cutting rule parameter, a result requirement parameter and an improved clustering algorithm parameter;
the cutting scheme calculation module is used for: the method comprises the steps of performing cutting scheme calculation on the material belt sequence information read by a reel material belt sequence information file reading module and parameters set by a parameter setting module by using the reel material belt cutting optimization method;
the cutting scheme output module is used for: the cutting scheme calculation module is used for displaying the cutting scheme calculated by the cutting scheme calculation module on a computer screen in a graphical mode, and outputting and storing the cutting scheme to a computer disk file.
CN202010909817.6A 2020-09-02 2020-09-02 Reel material belt cutting method and system Active CN112016757B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010909817.6A CN112016757B (en) 2020-09-02 2020-09-02 Reel material belt cutting method and system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010909817.6A CN112016757B (en) 2020-09-02 2020-09-02 Reel material belt cutting method and system

Publications (2)

Publication Number Publication Date
CN112016757A CN112016757A (en) 2020-12-01
CN112016757B true CN112016757B (en) 2023-10-27

Family

ID=73516491

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010909817.6A Active CN112016757B (en) 2020-09-02 2020-09-02 Reel material belt cutting method and system

Country Status (1)

Country Link
CN (1) CN112016757B (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109968036A (en) * 2019-02-22 2019-07-05 龙杰(苏州)精密工业有限公司 Continuous material belt type metalwork high-efficiency electroplating cutting integration assembly line
CN209954194U (en) * 2019-02-22 2020-01-17 龙杰(苏州)精密工业有限公司 High-efficient electroplating of continuous material belt metalwork cuts integrative assembly line

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107392402B (en) * 2017-09-11 2018-08-31 合肥工业大学 Production and transport coordinated dispatching method based on modified Tabu search algorithm and system

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109968036A (en) * 2019-02-22 2019-07-05 龙杰(苏州)精密工业有限公司 Continuous material belt type metalwork high-efficiency electroplating cutting integration assembly line
CN209954194U (en) * 2019-02-22 2020-01-17 龙杰(苏州)精密工业有限公司 High-efficient electroplating of continuous material belt metalwork cuts integrative assembly line

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
数控铣床图形自动编程系统设计中DXF文件图元信息读取技术研究;李洪声;;科学技术与工程(第33期);全文 *
自动铺带技术在航空复合材料制造领域的应用;郑广强;吴文贵;;航空制造技术(第15期);全文 *

Also Published As

Publication number Publication date
CN112016757A (en) 2020-12-01

Similar Documents

Publication Publication Date Title
CN105830078B (en) System and method for using dual ended data in oriented acyclic structure
US4785391A (en) Automated bitmap character generation from outlines
CN112016757B (en) Reel material belt cutting method and system
US20080199235A1 (en) Method of producing a double-sided printed material and double-sided printing apparatus
US20070120357A1 (en) Order charting for flat sheet industries
JP3013674B2 (en) Electric wire making control device and electric wire measuring and cutting device including the control device
WO2007035616A1 (en) Enlargement of font characters
KR20130100119A (en) Method, program, and device for grouping plurality of elements
US20130050223A1 (en) Method of Fine-Tuning Chinese Characters according to Font Size and Chinese Character Fine-Tuning System thereof
CN109740403A (en) A kind of method and apparatus for distinguishing bar code
US4661808A (en) Variable font display
CN110569493B (en) Method and system for adjusting planar design framework
CN108133485A (en) GIS rasterizings problem area recognition methods, device, terminal and medium in flakes
US10692257B2 (en) Process management apparatus, process management method, and storage medium
CN116485629A (en) Graphic processing method and system for multi-GPU parallel geometry processing
CN107016317B (en) Bar code decoding method and device
JP5098761B2 (en) Assortment planning device, method and program
CN107688727B (en) Method and device for identifying transcript subtypes in biological sequence clustering and full-length transcription group
CN113485704A (en) Information processing method and system for commodity activity page of E-commerce platform
JPH0869722A (en) Manufacturing device for electric wire with terminal
Magee et al. The Kornai effect with partial bailouts and taxes
JP2005056083A (en) N-dimensional geometric model, n-dimensional geometric model storage device and method, n-dimensional geometric model display device and method, n-dimensional geometric model data structure, and n-dimensional geometric model processing system, program, and storage medium therefor
US11521030B2 (en) Image forming device and image forming method for printing colored pattern parts on apparel cloth
JPH0887550A (en) Graph data editing method and information display terminal equipment
CN113222007B (en) Bronchus classification method, model training method, device, equipment and storage medium

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant