Calculadora de corte de refuerzo. Programa de optimización de corte. El problema del uso óptimo de los materiales consta de varias partes.

consulte Modelos de programación lineal para resolver problemas de corte.

Ejemplo No. 1. Los productos de la empresa papelera se fabrican en forma de rollos de papel de ancho estándar, de 2 metros cada uno. Según pedidos especiales de los consumidores, la empresa suministra rollos de otros tamaños, para los cuales se cortan rollos estándar. Las órdenes de rollo típicas no son tamaños estándar se dan en la tabla.


Necesitamos encontrar tales combinaciones. varias opciones Cortar rollos estándar para satisfacer completamente los pedidos entrantes con pérdidas mínimas (desperdicio).
Consideremos todas las opciones posibles para cortar un rollo estándar; los datos correspondientes se dan en la tabla.
Ancho del rollo (m)Opciones de corte de rollosNúmero mínimo de rollos
1 2 3 4 5 6
0,5 0 2 2 4 1 0 150
0,7 1 1 0 0 2 0 200
0,9 1 0 1 0 0 2 300
Residuos en m 0,4 0,3 0,1 0 0,1 0,2 -

Definamos las variables:
X j - número de rollos estándar cortados según opción j, j =1, 2, 3,4,5, 6.
Las restricciones están directamente relacionadas con el requisito de garantizar la producción del número requerido de rollos no estándar. Usando los datos de la tabla obtenemos:
2X 2 + 2 X 3 + 4 X 4 + X 5 = 150 - número de rollos de 0,5 m de ancho,
X 1 + X 2 + 2 X 5 = 200 - número de rollos de 0,7 m de ancho,
X 1 + X 3 + 2 X 6 = 300 - número de rollos de 0,9 m de ancho.

La expresión para la cantidad total de pérdida (residuos) de papel (en m) tiene la forma
0,4X1 + 0,3X2 + 0,1X3 + 0,1X5 + 0,2X6.

De este modo, modelo matemático V vista general parece
mín f(x) = 0,4 X 1 + 0,3X 2 + 0,1X 3 + 0,1X 5 + 0,2X 6.
con restricciones:
2X2 + 2X3 + 4X4 + X5 = 150
X2 + X2 + 2X5 = 200
X2 + X3 + 2X6 = 300

Problema de corte de material

Esta tarea consiste en desarrollar un plan que proporcione el conjunto de productos requerido con un desperdicio mínimo (en longitud, área, peso, costo, etc.) al cortar materiales o proporcione la cantidad máxima de conjuntos de productos. Ejemplo No. 2. Necesita ser desarrollado plan optimo corte hojas estándar acero, asegurando la producción del número planificado de espacios en blanco de diferentes tipos con un desperdicio total mínimo, si se sabe que de un lote de chapa de acero es necesario cortar cuatro tipos de espacios en blanco diferentes en la cantidad de b i (i = 1, 2, ..., 4) piezas. Una lámina de acero de tamaños estándar se puede cortar de cuatro formas. a todos manera posible El corte corresponde al mapa de corte. La producción de espacios en blanco en piezas se conoce por los mapas de corte. diferentes tipos a ij (i = 1, 2,…4; j = 1.2,…,4), así como el área de desperdicio c j (j = 1, 2,…,n) al cortar una hoja de acero usando el j-ésimo corte método . ¿Cuántas láminas de acero hay que cortar de una forma u otra para que el desperdicio sea mínimo?

Tabla 3

Especies
espacios en blanco

Plan objetivo para el número de piezas de trabajo (b 1)

Salida de espacios en blanco (uds) de diferentes tipos.
de tarjetas cortadas (a ij)

1 2 3 4
1 240 1 4 0 1
2 200 1 0 4 0
3 120 1 0 0 3
4 140 1 1 0 3
Área de residuos, m2
(cj)
1,4 0,1 2,1 0,1

Creemos un modelo económico y matemático del problema. Denotemos por x j la cantidad de material de partida (láminas de acero) que debe cortarse utilizando uno de los métodos j. Las restricciones del problema deben corresponder a la producción planificada de piezas de trabajo. varios tipos. La función objetivo se reduce a encontrar el mínimo desperdicio durante el corte.

F=1,4 x 1 +0,1 x 2 +2,1 x 3 +0,1 x 4 →(mín.).
Limitaciones en la producción de piezas de trabajo del tipo i-ésimo para todos los métodos de corte j:

Ejemplo No. 3. Se recibe material de una muestra en la cantidad de unidades para cortar (cortar, procesar). Se requiere fabricar l diferentes componentes en cantidades proporcionales a los números b 1, b 2,…, b l (condición de integridad). Cada unidad de material se puede cortar n de varias maneras, y usando el método i-ésimo (i = 1, 2,…,n) se obtienen ik unidades del k-ésimo producto (k = 1, 2,…,l). Es necesario encontrar un plan de corte que proporcione el máximo número de series.
Creemos un modelo económico y matemático del problema.
Denotaremos por x i – el número de unidades de material cortado mediante el método i-ésimo, y x – el número de conjuntos de productos fabricados. Entonces la función objetivo se reduce a encontrar

F=x→(máx),
con restricciones: por la cantidad total de material igual a la suma de sus unidades, cortado de diversas formas; según el requisito de integridad y no negatividad de las variables.

Ejemplo No. 4. La empresa tiene troncos de longitud L m que deben cortarse en trozos de longitud l 1, l 2, l 3 m en cantidades p 1, p 2, p 3, respectivamente.
Es necesario elaborar un plan óptimo para cortar el material, que garantice un desperdicio mínimo, sujeto al cumplimiento del plan para la salida de las piezas de trabajo. Los datos iniciales se dan en la tabla.

TareaLongitudDimensiones de las piezas de trabajo, m.Número de espacios en blanco, uds.
yo 1yo 2yo 3página 1p2página 3
68 6,5 2,1 2,3 1,4 600 720 900

Solución: Primero, creemos un modelo matemático de nuestro problema. Posibles opciones Los cortes y desperdicios de cada uno de ellos se anotarán en forma de tabla.
Longitud de la piezaOpciones de corteNúmero de espacios en blanco
1 2 3 4 5 6 7
2,1 3 2 2 1 1 0 0 600
2,3 0 1 0 1 0 2 1 720
1,4 0 0 1 1 3 1 3 900
Restante, metro0,2 0 0,9 0,7 0,2 0,5 0

Denotaremos por x i el número de troncos cortados según la i-ésima opción (i=1..7). Entonces el saldo total de residuos se escribirá como una función lineal:
Z = 0,2x 1 + 0x 2 + 0,9x 3 + 0,7x 4 + 0,2x 5 + 0,5x 6 + 0x 7
En este caso, se deben cumplir las condiciones para el cumplimiento del plan en cuanto al número de espacios en blanco, es decir
3x 1 + 2x 2 + 2x 3 + x 4 + x 5 = 600
x2 + x4 + 2x6 + x7 = 720
x3 + x4 + 3x5 + x6 + 3x7 = 900

Por tanto, para resolver el problema, es necesario encontrar minZ bajo las restricciones. Dado que minZ = -max(-Z(x)), entonces en lugar del problema de minimizar una función resolveremos el problema de maximizar una función:
Z = -(0,2x 1 + 0x 2 + 0,9x 3 + 0,7x 4 + 0,2x 5 + 0,5x 6 + 0x 7)

Ejemplo No. 5. Para coser un producto, debes cortar 6 partes de la tela. La fábrica de prendas de vestir desarrolló dos opciones para cortar telas. La tabla (que se encuentra a continuación) muestra las características de las opciones de corte para 10 m 2 de tela, integridad, es decir. la cantidad de piezas de un determinado tipo que se necesitan para coser un producto. Suministro mensual de tela para productos de costura. de este tipo es de 405 m2. Está previsto coser 90 prendas la próxima noche.
Construye un modelo matemático del problema que te permitirá completar el plan de costura con una mínima cantidad de desperdicio en el próximo mes.

Tabla - Características de las opciones de corte para piezas de tela de 10 m 2

Opción de corte Número de piezas, unidades/corte Residuos, m 2 /corte
1 2 3 4 5 6
1 60 0 90 40 70 90 0,5
2 80 35 20 78 15 0 0,35
Integridad, uds./producto 1 2 2 2 2 2

Formulación matemática del problema.

Variables de tarea
En este problema no se indican explícitamente las cantidades requeridas, pero se dice que se debe cumplir el plan mensual de confección de 90 productos. Para coser 90 productos por mes, se requiere un corte estricto. una cierta cantidad detalles. El corte se realiza a partir de piezas de tela de 10 m2 de dos formas diferentes, lo que permite conseguir numero diferente detalles. Dado que no se sabe de antemano cuánta tela se cortará con el primer método y cuánta se cortará con el segundo método, los valores requeridos se pueden establecer como el número de piezas de tela de 10 m 2 cortadas con cada método. :
x 1 - el número de trozos de tela de 10 m 2 cada uno, cortados con el primer método en un mes, [cortes/mes];
x 2 - el número de trozos de tela de 10 m 2 cada uno, cortados con el primer método en un mes, [cortes/mes];

Función objetivo
El objetivo de resolver el problema es completar el plan con una cantidad mínima de desperdicio. Dado que el número de productos está estrictamente planificado (90 unidades/mes), este parámetro no describe el TF, sino que se refiere a una limitación cuyo incumplimiento significa que el problema no se ha solucionado. Y el criterio para la efectividad de la implementación del plan es el parámetro “cantidad de desperdicio”, que debe minimizarse. Dado que al cortar una pieza (10 m2) de tela según la primera opción, se obtienen 0,5 m2 de desperdicio, y según la segunda opción, 0,35 m2 (ver Tabla 1), entonces la cantidad total de desperdicio durante el corte (CF) ha vista
L(x) = 0,5x 1 + 0,35x 2 = mín.,

Restricciones
El número de cortes de tela de diversas formas está limitado por las siguientes condiciones:

  • Se debe cumplir un plan para coser productos, es decir, el número total de piezas cortadas debe ser tal que se puedan coser 90 productos por mes, a saber: debe haber al menos 90 del 1er tipo y al menos 90 piezas. de otros tipos 180 (ver tabla para mayor información).
  • El consumo de tela no debe exceder el suministro de un mes en el almacén;
  • El número de trozos de tela cortada no puede ser negativo.
Las restricciones sobre el plan de confección de abrigos tienen el siguiente formulario de entrada significativo.
(Número total de piezas cortadas No. 1 para todas las opciones)≥ (90 piezas);
(Número total de piezas cortadas No. 2 para todas las opciones) ≥ (180 piezas);
(Número total de piezas cortadas No. 6 para todas las opciones) ≥ (180 piezas);

Matemáticamente, estas restricciones se escriben como :
60x1 + 80x2 ≥90;
35x2 ≥180;
90x1 + 20x2 ≥180;
40x 1 + 78x 2 ≥180;
70x 1 + 15x 2 ≥180;
90x1 ≥180;

Hay un límite en el consumo de tela. siguientes formularios entradas:
contento
(cantidad total de tela cortada por mes)≤ (405m2)
Matemático
x1 +x2 ≤405/10

La no negatividad del número de segmentos cortados se da en la forma
x1 ≥ 0, x 2 ≥ 0

Por tanto, el modelo matemático del problema tiene la forma
L(x) = 0,5x 1 + 0,35x 2 = min [m 2 residuos/mes],
60x1 + 80x2 ≥90;
35x2 ≥180;
90x1 + 20x2 ≥180;
40x 1 + 78x 2 ≥180;
70x 1 + 15x 2 ≥180;
90x1 ≥180;
x1 + x2 ≤40,5
x1 ≥ 0, x 2 ≥ 0

Ejemplo No. 6. Hay 69 tuberías para la red de calefacción, cada una de 1070 cm. Deben cortarse en tubos de 130, 150 y 310 cm. Busque una opción para cortar los tubos entrantes en la que el desperdicio sea mínimo.

Etapa 1. Determinar opciones para un corte óptimo de tuberías.

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

Etapa 2.
Creemos un modelo económico y matemático del problema. Denotemos por x j el número de tuberías que deben cortarse utilizando uno de los métodos j. La función objetivo se reduce a encontrar el mínimo desperdicio al cortar:
10x 1 + 20x 3 + 40x 4 + 60x 5 + 50x 6 + 70x 7 + 90x 8 + 110x 9 + 100x 10 + 120x 11 + 10x 12 + 30x 13 → mín.

x1 + x3 + x4 + x5 + x6 + x7 + x8 + x9 + x10 + x11 + x12 + x13 = 69

Respuesta: es necesario utilizar solo la segunda opción de corte (residuo cero)

Línea de Corte - Programa para corte lineal

Versión: 2.49
Desarrollador: Shibaev Yuri Anatolyevich Ucrania, Cherkasy
Sitio web del desarrollador: http://www.cuttinghome.com/
Profundidad de bits: 32 bits
Compatible con Windows 7: sí
Idioma de la interfaz: inglés + ruso
Tableta: Curada
Requisitos del sistema: mínimo
Descripción: El programa CORTE está diseñado para un corte óptimo de material en piezas lineales. El programa se puede utilizar en carpintería, producción de muebles, corte de metales, corte de vidrio, etc. Los programas se basan en un algoritmo único de alta velocidad que le permite cortar rápidamente con un desperdicio mínimo.
Al desarrollar la parte algorítmica de los programas, se eligió el principio de minimización de desperdicios como criterio principal, y al desarrollar la parte de la interfaz, el autor se esforzó por hacer que los programas fueran simples y convenientes para el uso diario.

Programa para el corte óptimo de espacios en blanco lineales en piezas.

El programa implementa siguientes funciones y características:
. especificar un número arbitrario de espacios en blanco y segmentos a cortar
. especificar espacios en blanco y segmentos según ciertas características, por ejemplo, nombre y color
. cálculo teniendo en cuenta el tipo de material (nombre del material, color)
. establecer el ancho de la herramienta de corte
. cálculo de las longitudes totales de segmentos y restos
. ejercicio diferentes modos realizando corte
. restauración de recortes anteriores de la sesión de trabajo actual.
. guardar piezas de trabajo y secciones específicas como especificaciones
. agregar una especificación guardada a una nueva opción de cálculo
. guardar el corte en un archivo con posibilidad de restauración posterior
. visualizar e imprimir resultados de corte, tanto gráficamente como forma tabular
. sistema completo información de referencia.

El corte lineal económico de materiales (corte de molduras) es relevante para muchas industrias y en la construcción. Se trata de cortar troncos y tablas para trabajar la madera, cortar varillas, barras de refuerzo, ángulos, canales, tubos, vigas en I para obtener piezas en bruto...

En la producción de estructuras metálicas e ingeniería mecánica, corte transversal de rollos de papel y tela en la industria celulosa y ligera.

A pesar de su aparente sencillez, resolver problemas de corte lineal no es una tarea fácil, pero sí que merece la pena. ¡La introducción de un enfoque científico en el corte de materiales moldeados puede a veces reducir los costes en más del 10%! Lea el artículo hasta el final y asegúrese de que estas palabras sean correctas.

El tema en consideración se relaciona con las tareas. programación lineal. Para resolver estos problemas, los científicos han ideado varios métodos diferentes durante los últimos 70 años.

Método de índice L.V. Kantorovich y V.A. Zalgallera con cierta habilidad te permite “manualmente” sin usar tecnología informática Realice eficazmente cortes lineales. Recomiendo a los lectores curiosos que se familiaricen con este método leyendo el libro de los autores mencionados anteriormente, "Corte racional de materiales industriales".

Método simplex basado en las ideas de L.V. Kantorovich, fue descrito y desarrollado en detalle por varios científicos de Estados Unidos a mediados del siglo XX. El complemento "Solver" de MS Excel utiliza este algoritmo. Es con este método queSobresalirEn este artículo solucionaremos el problema del corte lineal.

Posteriormente aparecieron y se desarrollaron algoritmos genéticos, codiciosos y de hormigas. Sin embargo, nos limitaremos a enumerarlas y ponernos manos a la obra sin entrar en la jungla de teorías (aunque allí, “en la naturaleza”, es muy interesante).

Encendamos Excel y ejemplo sencillo Cortar varillas de metal en partes, conozcamos una de las soluciones. problemas prácticos corte lineal. Los matemáticos suelen llamar a este problema el "problema de corte".

Los datos iniciales del ejemplo no los inventé yo, sino que los tomé del artículo de M.A. Pokrovsky. “Minimizar las pérdidas inevitables de materiales en producción industrial al cortarlos en piezas en blanco”, publicado en el número 5 (mayo de 2015) de la revista científica y técnica electrónica “Engineering Bulletin” publicada por la Institución Educativa Presupuestaria del Estado Federal de Educación Profesional Superior “MSTU que lleva el nombre. NORDESTE. Bauman" (enlace:engbul. bmstu. ru/ doc/775784. HTML).

El objetivo que perseguía era comparar los resultados obtenidos al resolver el problema.

Un ejemplo de resolución de un problema de corte lineal en MS Excel.

Acordemos que:

1. Los espacios en blanco son material de origen en forma de varillas, tiras, varillas, etc. la misma longitud.

2. Las piezas son elementos que deben obtenerse cortando en pedazos las piezas originales.

3. Se supone que el ancho de la sierra, corte y corte es cero.

Condición del problema:

Para completar uno de los pedidos, el departamento de adquisiciones debe utilizar cizallas combinadas para cortar tres tamaños estándar de piezas a partir de varillas idénticas con una longitud de 1500 mm:

151 piezas de 330 mm de largo

206 piezas de 270 mm de largo

163 piezas de 190 mm de largo

Es necesario encontrar el plan de corte óptimo que utilice una cantidad mínima de material y, en consecuencia, produzca una cantidad mínima de desperdicio.

Datos iniciales:

1. Longitud de los espacios en blanco originales. lh en milímetros escribimos en la celda combinada

D3E3F3: 1500

2. Asignar números i todos los tamaños estándar de piezas, desde la más larga hasta la más corta en las celdas

D4; E4; F4: 1; 2; 3

3. Longitudes de piezas ldi en milímetros escribimos en

D5; E5; F5: 330; 270; 190

4. Número de piezas nortedi En pedazos entramos

D6; E6; F6: 151; 206; 163

5. Vayamos a lo muy etapa importante– completar opciones de corte.

Debe ser recordado y comprendido. 2 principios para hacer este trabajo.

1. La longitud de los residuos debe ser menor que la parte más pequeña ( 0< lo j < ldmín. ).

2. Comenzamos a "apilar" piezas en una pieza de trabajo con las piezas más grandes y la mayor cantidad de ellas, avanzando constantemente hacia la reducción.

Si no hay un tamaño estándar de piezas en la opción de corte, entonces dejamos la celda vacía, no escribiremos un cero para facilitar la percepción visual de la mesa.

Opción de corte No. 1:

Intentar cortar 5 partes No. 1 de un espacio en blanco es imposible, por eso escribimos en la celda

También es imposible agregar la parte No. 2 o la parte No. 3 al corte, por lo que dejamos las celdas vacías.

Opción de corte No. 2:

Reducimos el número de piezas nº 1 en 1 de la opción anterior y lo escribimos en

Intentamos agregar 2 partes No. 2; no funciona, así que agregamos

Sigue siendo posible complementar el corte con la pieza nº 3. lo ponemos en

Siguiendo los principios establecidos, completamos por analogía todos los posibles en este caso 18 opciones de corte.

Habiendo elaborado usted mismo un par de tablas de opciones de corte, comprenderá la lógica de las acciones y dedicará unos minutos a este trabajo.

Si no se sigue el primer principio durante el corte, la celda con la longitud sobrante se pinta automáticamente de rojo. El formato condicional aplicado a las celdas G7...G24 claramente le ayudará en este trabajo.

¡No escribimos nada en las celdas H7…H24! ¡Se utilizan para mostrar el resultado de la solución!

Preparándose para la solución:

* En las celdas G7...G24, las longitudes de los residuos (cortes) que quedan como resultado del corte se calculan mediante la fórmula

lo j = l z—Σ (ldi * nortedyo )

6. El número de piezas de cada tamaño estándar, fabricadas utilizando todas las opciones de corte aplicadas, se calculará en las celdas D26, E26 y F26 utilizando la fórmula

nortedicálculo = Σ (nortedyo * nortehj )

¡La cantidad de piezas en el plan de corte que se encuentra al final de la solución debe corresponder completamente a la cantidad de piezas especificada!

7. La cantidad requerida de piezas de trabajo para completar el plan de corte óptimo se determinará en la celda combinada D27E27F27 usando la fórmula

norte z cálculo =ΣN hj

8. La longitud total de todos los espacios en blanco necesarios para realizar el corte lineal de todas las piezas se calculará en la celda combinada D28E28F28 utilizando la fórmula

lh Σ = l z*nortez cálculo.

9. La longitud total de todos los residuos obtenidos al ejecutar el plan de corte encontrado se calculará en la celda combinada D29E29F29 según la fórmula

loh Σ = Σ (lohj * nortehj )

10. La proporción de desperdicio obtenida al ejecutar el plan de corte lineal óptimo de la cantidad total de material utilizado se calculará en la celda combinada D30E30F30 utilizando la fórmula

Ωo = Lo Σ /Lз Σ

Solución:

Se han completado los preparativos, se han identificado 18 opciones para las más esquejes óptimos Se ingresa un espacio en blanco para la pieza y se ingresan todas las fórmulas necesarias. Ahora tenemos que decidir tarea principal: definir plan de corte óptimo: cuántos espacios en blanco y qué opciones de corte cortar para eventualmente conseguirlo todo detalles necesarios V la cantidad correcta con un mínimo de desperdicio.

1. En el menú principal, seleccione “Servicio” - “Buscar una solución...”.

2. En la ventana “Buscar solución” del mismo nombre que aparece, realizamos los ajustes.

2.1. nombramos función objetivo longitud total de los residuos Lo Σ e ingrese el enlace en la ventana de la celda de destino.

2.2. Coloque el interruptor "Igual:" en la posición de "valor mínimo".

2.3. Especificación de celdas con variables Nз j en la ventana Modificar celdas.

2.4. Ingresamos restricciones en la ventana del mismo nombre. Como condiciones indicamos la necesidad de igualdad de lo dado. Nд yo y calculado nd icalc número de piezas, así como variables Nз j– el número estimado de espacios en blanco según las opciones de corte – imponemos una limitación: deben ser números enteros.

3. Haga clic en el botón "Opciones" y en la ventana "Opciones de búsqueda de soluciones" que aparece, realice los ajustes como se muestra en la siguiente captura de pantalla. Cierre la ventana con el botón “Aceptar”.

4. En la ventana "Buscar una solución", haga clic en el botón "Ejecutar" y espere a que Excel encuentre una solución. Esto puede tardar varios minutos.

5. Después de guardar la solución encontrada con el botón "Aceptar", los resultados se mostrarán en las celdas H7...H24 de la hoja de Excel.

La siguiente imagen muestra el plan de corte lineal óptimo encontrado.

¿Cuál es el resultado?

corte lineal En Excel, los espacios en blanco para tareas similares a las analizadas en este artículo se realizan utilizando el método descrito anteriormente en 10 a 15 minutos. “Manualmente”, sin conocer el método de los índices de Kantorovich, no encontrará una solución en ese momento.

Ejecutando “Buscar una solución” varias veces diferentes parámetros Al buscar, logramos encontrar 5 planos de corte diferentes. Los 5 planes requieren la misma cantidad de espacios en blanco: 93 y producen un desperdicio de sólo el 2,21 %. Estos planes son casi un 6% mejores que el plan calculado por Pokrovsky y más de un 10% más económicos que el plan "Tradicional" (ver el enlace a la fuente original en la primera parte del artículo). Se logró un resultado muy valioso rápidamente y sin el uso de programas costosos.

Cabe señalar que el complemento Excel Solver (“Buscar una solución”), que utiliza el método simplex para resolver problemas de programación lineal, no puede funcionar con más de 200 variables. Cuando se aplica al problema de corte lineal que consideramos, esto significa que el número de cortes no puede exceder las 200 opciones. Para tareas simples eso es suficiente. Para problemas más complejos, debería intentar utilizar una "mezcla" de un algoritmo "codicioso" y método simplex Solver, seleccionando entre lista completa esquejes no más de 200 de los más económicos. A continuación, nos abastecemos de paciencia y logramos resultados. Puede intentar dividir un problema complejo en varios simples, pero el "nivel de optimización" de la solución encontrada probablemente será menor.

Quizás la opción considerada para resolver los problemas del corte lineal no sean las “acrobacias aéreas”, pero definitivamente es un paso adelante en comparación con el enfoque “tradicional” en muchas industrias.

El uso del complemento de MS Excel "Buscar una solución" (Solver) ya se ha comentado una vez en el blog en un artículo. Creo que esta maravillosa herramienta merece mucha atención y le ayudará una y otra vez a resolver de forma elegante y rápida una serie de problemas nuevos y no triviales.

PD Enlaces a los mejores programas gratuitos de corte lineal que encontré en Internet:

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

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

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

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

Los programas en los dos últimos enlaces implementan heurísticas codiciosas y realizan cortes lineales en el problema del artículo, utilizando hasta 103 piezas de trabajo. El uso de algoritmos codiciosos se justifica en los casos en los que es necesario reducir el tiempo total de la operación de corte cuando el grandes cantidades opciones de corte en planes más óptimos.

Debajo del artículo en el bloque “Reseñas”, pueden escribir sus comentarios, queridos lectores.

El programa está diseñado para optimizar el corte de perfiles y otros materiales largos (madera, troncos, tuberías, alféizares).
Se utiliza el algoritmo de "colocación densa", es decir, el producto tomado se coloca en la parte restante más corta de la pieza de trabajo sobre la que se coloca. Si no cabe en ningún lugar, se toma un nuevo espacio en blanco. La tarea de optimización es encontrar una secuencia de productos en la que se utilizarán menos piezas y la longitud de los desechos comerciales será mayor. En el primer paso, los productos se colocan en los látigos en orden aleatorio. Surge una “población inicial”. Durante el proceso de decisión, la población muta y se multiplica, los ejemplares fallidos mueren y los mejores continúan evolucionando. Todo es igual que en el mundo animal y vegetal + selección artificial.

Demostración en vivo en el sitio web

El siguiente ejemplo no es una imagen estática, sino una aplicación web en funcionamiento.
Puede iniciar el corte del perfil con el botón Comenzar, establezca las dimensiones de su producto y pieza de trabajo, cambie la configuración de optimización y evalúe la solución.
Por supuesto, el optimizador del navegador funciona más lento que el programa nativo, pero le permite obtener resultados viables de forma gratuita sin tener que descargar e instalar nada en su computadora.

Ventajas

  • Oknosoft:cutting proporciona mapas de corte alta calidad. Numerosas implementaciones confirman la relación de recorte real de no más del 1% al optimizar lotes de 30 contornos (~120 segmentos)
  • Para leer datos de origen y registrar resultados de corte, el programa utiliza formatos simples archivos de texto, que simplifica la integración con los sistemas contables implementados por el cliente
  • Si es necesario, el corte se puede realizar en Linux u OS X en un navegador o Node.js pasando parámetros a través de URL, web-socket u objetos javascript.

Algoritmos optimizadores lineales

Windowsoft:cutting utiliza un algoritmo genético. La esencia es esta:
Llamemos solución a cada distribución de productos entre las filas. Definamos una función objetivo que nos permita comparar la calidad de las soluciones. Formemos varias soluciones arbitrarias y llamémoslas generación. Determinemos las reglas para obtener la próxima generación. Las instancias con la mejor función objetivo transmiten la mayoría de nuestro “acervo genético”, esta es nuestra “selección artificial”. Ahora solo queda dejar el sistema a su aire, dejarlo mutar y optimizar los resultados de corte.
Durante el proceso de desarrollo, probamos el método "Monte Carlo", cuando nuestras "instancias" son aleatorias e independientes entre sí, y los "algoritmos de hormigas" (optimización de colonias de hormigas ACO). Todos los métodos demostraron ser bastante eficientes, pero el algoritmo genético resultó ser un poco más efectivo.

Opciones de entrega

Hay dos opciones de entrega para el módulo de corte Oknosoft: corte - incluido solución integral Gestión de producción personalizada y como separado archivo ejecutable. La interacción con el programa de corte en el primer escenario está completamente oculta para el usuario. El operador trabaja con documentos estándar 1C:

  • Según los pedidos de los clientes, se forma un plan de producción.
  • Según el plan: asignaciones de turnos con una lista de productos y materiales necesarios.
  • La optimización del corte ocurre dentro de la tarea de producción.
  • Durante el proceso de optimización, el programa toma los recortes comerciales del trabajo en curso y coloca los recortes comerciales recién formados en el almacén celular.
  • La tarea del turno puede imprimir formularios de corte para producción manual o generar archivos para máquinas CNC.
  • Además, las etiquetas para productos cortados y diagramas de diseño para carros y pirámides se imprimen desde un trabajo por turnos.
  • Sobre la base de las asignaciones de producción, se forman los requisitos: facturas por la transferencia de materiales al taller, teniendo en cuenta las necesidades y el embalaje estándar.

Interfaz del programa (API de corte lineal)

El archivo de datos de entrada es setup.ini, ubicado en la carpeta con el archivo ejecutable.
Los archivos de datos de salida (result.txt, resultproduct.txt y resultstick.txt) se generan en la misma carpeta.
Puede descargar archivos con datos de demostración para Oknosoft:cutting usando el enlace al final de la página. Las siguientes etiquetas se utilizan en los archivos:

  • Variante de salida: la estructura del archivo de salida del archivo. Valores posibles: pestaña, oknosoft, oknosoft predeterminado
    • En la opción "oknosoft" se generan los archivos resultproduct.txt y resultstick.txt con información sobre la colocación de los productos en las piezas de trabajo y el recorte resultante.
    • La opción "tab" muestra cinco valores separados por caracteres "tab": longitud del producto, número de varilla, longitud de varilla, número de corte y pieza de trabajo restante
  • Algoritmo: el algoritmo utilizado. Valores posibles: aleatorio, conservador, genético, genético predeterminado
    • Aleatorio: selección aleatoria de opciones
    • Conservador: las instancias de la siguiente iteración provienen del mismo "padre"
    • Genético - de dos padres
  • Variación: variabilidad, un parámetro de los algoritmos "conservadores" y "genéticos". Cuanto más alto, menos “se parece” la descendencia a sus padres. El valor predeterminado es 1.
  • Generaciones: número de iteraciones del algoritmo, predeterminado 40000
  • Personas: la cantidad de "instancias" en la "población", la cantidad de soluciones utilizadas en una iteración. El algoritmo "aleatorio" simplemente realiza iteraciones de generaciones*personas con una instancia (solución)
  • KnifeWidth - ancho de la sierra
  • StickLength: longitud del nuevo palo
  • Productos - longitud del producto
  • Restos: longitud de los desechos utilizados en el corte.
  • Wrongsnipmin – longitud mínima de un patrón “malo”
  • Malsnipmax – longitud máxima poda "mala"
    Los resultados de la optimización no contendrán recortes con una longitud entre Wrongsnipmin y Wrongsnipmax.

corte en pareja

Se utiliza al preparar datos para máquinas que admiten el corte en pares. En este caso, se colocan dos barras perfiladas en la máquina a la vez y en un ciclo de corte se forman dos productos semiacabados idénticos.

El problema del corte por pares se resuelve agrupando los datos antes de transferirlos al programa de optimización y posterior duplicación de los resultados del corte en pares de productos y espacios en blanco. Al cortar dentro de la UPZP, el sistema tiene en cuenta las propiedades del artículo y utiliza corte simple o emparejado dependiendo de las capacidades de las máquinas de corte.

Cortar una gran cantidad de productos.

Por un lado, para lograr una optimización de alta calidad, se debe ingresar una cantidad significativa de productos al programa. diferentes longitudes, para que el optimizador tenga "algo que ordenar". Por otro lado, con lotes muy grandes, la probabilidad de encontrar el máximo con un número fijo de iteraciones disminuye. Los experimentos han demostrado que el lote óptimo es de 60 a 120 piezas en bruto (lo que corresponde a un ciclo de producción de 30 a 60 productos cuando se cortan por pares). Si es necesario optimizar más de 120 piezas, mejores resultados se puede lograr dividiendo el problema en N partes y haciendo optimizaciones secuenciales para cada parte. El procesamiento de la formación de lotes de tareas de producción permite agrupar productos por tipo de perfil y seleccionar productos con la máxima dispersión en tareas por turnos, liberando al operador del trabajo rutinario de elaboración de documentos de producción.

Descargue ejemplos de corte y documentación.

  • Demostración de tarjetas de corte simple y doble: 60.01 Hojas de corte
  • Documentación y archivos de ejemplo:



Arriba