11 / 77
CAPÍTULO 3. PROCESO DE OPTIMIZACIÓN
Como se ha esbozado en la introducción, para conseguir resolver el problema de la optimización del fresado en múltiples pasadas, ha sido necesario resolver 2 problemas que son independientes. Por un lado se trata de ver cuáles son las posibles combinaciones de pasadas que son posibles sin tener en cuenta los resultados experimentales. Por otro lado se trata de optimizar el proceso de corte en una única pasada para obtener las condiciones de corte en una pasada con un espesor determinado.
Para que el programa sea lo más eficiente se ha aprovechado la consideración de que la mínima penetración que es capaz la máquina herramienta es la profundidad axial mínima, de manera que las posibilidades de penetración axial son finitas (amin, 2amin, 3amin,…). Teniendo en cuenta esto,
primero se calculan las características de las posibles pasadas tanto en desbaste como en acabado.
Después de almacenar las características de las posibles pasadas, se obtienen las posibles combinaciones de penetraciones con las que se puede fresar la profundidad deseada.
Una vez resueltos los 2 problemas se seleccionan para cada una de las posibles combinaciones los tiempos de mecanizado correspondientes (teniendo en cuenta que la pasada sea de desbaste o de acabado) y se le añaden los tiempos no productivos.
Al llegar a este punto, tenemos todos los posibles tiempos que se puede tardar en realizar la operación, en función del número de pasadas que se den y el espesor de cada una de ellas. Ahora sólo hay que seleccionar el tiempo mínimo y ver a qué combinación de pasadas le corresponde.
Para calcular el número de pasadas óptimas es necesario conocer: la profundidad axial que se quiere fresar y las profundidades máximas y mínimas que permite la herramienta. Una vez que se conoce la profundidad que se quiere fresar y las limitaciones técnicas que impone la máquina, se calculan el número máximo y el número mínimo de pasadas que es posible dar. El número máximo de pasadas depende de la profundidad mínima axial que permite la herramienta, y el número mínimo, de la profundidad máxima. De tal manera que si se redondea al número entero superior el resultado de la división entre la profundidad axial a fresar entre la profundidad mínima se obtiene el número de pasadas máximo y si se divide entre la profundidad máxima, se obtiene el número de pasadas mínimo.
Para encontrar todas las posibles combinaciones, se ha intentado seguir el criterio tecnológico más lógico. Este criterio es que, salvo en la última pasada, en la que el acabado de la superficie es importante, en las pasadas lo que interesa es quitar la mayor cantidad de material posible.
3.1 ALGORITMO DE SELECCIÓN DE LA COMBINACIÓN ÓPTIMA
i. Introducción de los coeficientes y datos necesarios para el cálculo de las características y tiempo de las pasadas de manera individual. También se introducen las características de la máquina.
ii. Cálculo del número máximo de pasadas, en función de la profundidad total a fresar, la profundidad máxima y de la mínima de la máquina.
iii. Obtención de todas las posibles combinaciones de profundidades para todos los valores de número de pasadas posible.
iv. Cálculo de los tiempos de fresado en una pasada para todas las posibles profundidades axiales (tanto para acabado como para desbaste). Estos tiempos así como las características de las pasadas son guardados.
v. Cálculo de los tiempos de fresado, como suma de los tiempos de fresado para las operaciones individuales, para cada una de las posibles combinaciones calculadas. También se calculan los tiempos no productivos.
13 / 77
3.2 ALGORITMO DE OPTIMIZACIÓN DEL TIEMPO DE FRESADO EN
UNA PASADA
El problema de optimización que se quiere resolver en este trabajo es un problema de minimización de una función de varias variables en las que el valor de dichas variables está limitado por una serie de restricciones que pueden ser no lineales. Hay que utilizar algoritmos de optimización que sí consideran restricciones sobre los parámetros de diseño, y que proporcionan el mejor punto dentro de la región permitida.
Hay 2 tipos de algoritmos de optimización de funciones de varias variables en las que es posible imponer unos límites a las variables de diseño. Estos algoritmos son los algoritmos evolutivos o genéticos que presentan el inconveniente de converger muy lentamente y el método de programación cuadrática secuencial o método de Lagrange-Newton (SQP) que permite establecer restricciones sobre varios parámetros a la vez, pudiendo ser las restricciones no ser lineales.
El método de Programación Cuadrática Secuencial (SQP) es un método de búsqueda del mínimo de una función n-dimensional no lineal donde las n variables de las que depende la función están sujetas a restricciones que pueden ser lineales o no lineales. Este método es un método iterativo que a cada paso aproxima localmente la función f no lineal por una función q cuadrática, y las restricciones no lineales por restricciones lineales. Para encontrar el mínimo de una función cuadrática con restricciones lineales se utiliza el método del conjunto activo, el cual resuelve subproblemas cuadráticos con restricciones de igualdad, los cuales tienen solución analítica. Una vez encontrado el mínimo de esta función cuadrática aproximada con restricciones linealizadas, se aproximan de nuevo la función y las restricciones en torno al nuevo punto y se da un nuevo paso. Así se continua hasta que se cumple algún criterio de parada (valor de la función muy pequeño, se excede un número máximo de evaluaciones de la función, etc.).
Para realizar este paso, se ha utilizado en la función fmincon de Matlab que optimiza una función que depende de varias variables con valores de las mismas acotados, sujetas a una serie de restricciones externas. Esta función utiliza una implementación del método SQP con una búsqueda lineal en la que se busca un descenso suficiente en una función de mérito similar a las de Han y Powell. También se utiliza la fórmula de BFGS (Broyden-Fletcher-Goldfard-Shannon) para la actualización de la Hessiana del Lagrangiano.
Para hacer uso de la función fmincon se tienen que definir las variables en un único vector. Se tienen que hacer además dos archivos *.m en uno de los cuales se define la función a minimizar y en el otro las restricciones externas a las que está sujetas las variables.
para comenzar las iteraciones (~x ), los valores superiores e inferiores que 0 pueden alcanzar las variables (~xmax,~xmin) y el archivo donde se encuentran las restricciones definidas como igualdades o desigualdades en las que el segundo miembro es 0 (funcion_restricciones).
[x~,fval] = fmincon(@funcion_objetivo, ~x0,[],[],[],[], ~xmin, ~xmax,@ funcion_restricciones,options)
En x~ se devuelven los valores que toman las variables que hacen mínima la función objetivo. En fval se devuelve el valor de la función objetivo.
En este caso, el vector x~ tiene como primera componente la velocidad de giro del husillo, y la segunda componente es la velocidad de avance de la máquina. El valor de la función objetivo es el tiempo que tarda en la operación de fresado con una profundidad axial constante.
3.3 ALGORITMO DE OBTENCIÓN DE TODAS LAS COMBINACIONES POSIBLES
Se calculan el número máximo y el número mínimo de pasadas en función de la profundidad total a fresar y de las profundidades máximas y mínimas de la herramienta. A continuación se indica el proceso de obtención de las profundidades de cada una.
i. Se calcula la profundidad de la pasada j. Para ello a la profundidad total a fresar se le resta el número de pasadas que se van a dar menos uno multiplicado por la profundidad mínima de la máquina. a. Si este valor es mayor que la profundidad máxima, la profundidad
de la pasada j es la profundidad máxima.
b. Si este valor es menor que la profundidad máxima, la profundidad de la pasada j es este valor que se acaba de calcular.
ii. Se calcula la profundidad de la pasada j+1. Para ello a la profundidad total a fresar se le resta la profundidad de las j-1 pasadas anteriores y el número total de pasadas que se van a dar menos j multiplicado por la profundidad mínima de la máquina.
a. Si este valor es mayor que la profundidad máxima, la profundidad de la pasada j+1 es la profundidad máxima.
b. Si este valor es menor que la profundidad máxima, la profundidad de la pasada j+1 es este valor que se acaba de calcular.
c. Si este valor es igual a la profundidad mínima de la máquina, el valor de la profundidad de la pasada j+1 y de las pasadas restantes será la profundidad mínima de la máquina. Pasamos al punto iv-b.
iii. Se calculan las profundidades de las siguientes pasadas de igual manera que en ii, obteniendo así las profundidades de la primera combinación.
15 / 77
el valor de la pasada j+1 es mayor o igual que 3 veces la profundidad mínima de la máquina y/o la profundidad de la pasada j+2 es menor que la profundidad de j+1 que es menor que la profundidad de la pasada j, hay posibilidad de hacer una combinación alternativa con el mismo número de pasadas y misma profundidad de la pasada j.
a. Si la pasada j es al menos 3 veces mayor que la pasada j+1 incrementando la profundidad de la pasada j+1 en amin y
reduciendo la profundidad de la pasada j en amin, obtenemos una
nueva combinación.
b. Si la pasada j es mayor que la pasada j+1 que es a su vez mayor que la pasada j+2, se incrementa la pasada j+2 en amin y se
reduce la pasada j en amin, obteniendo una nueva combinación.
c. Si no hay posibilidad de una nueva combinación se diminuye la profundidad de la pasada j en un valor igual a la profundidad mínima de la máquina y se vuelve a ii.
En este algoritmo desde el punto i hasta el punto iii lo que se hace es calcular la primera combinación de pasadas que empezando por una determinada profundidad y de manera que la pasada j+1 sea lo más grande posible sin llegar a ser mayor que la pasada j.
En el punto iv lo que se hace es sacar otras posibles combinaciones que respetando que la pasada j+1 no sea nunca mayor que la pasada j debido a las profundidades de j, j+1 y j+2 se pueden obtener.
Como ejemplo ilustrativo presentamos la siguiente combinación en el caso de que at=5, amin=0.5 y amax=4 cuando se dan 4 pasadas y la primera tiene una
profundidad de 2mm:
2 2 0,5 0,5
2 1,5 1 0,5 4
2 1 1 1
La primera combinación que se obtiene es 2-2-0.5-0.5 en la que se cumple el punto iv. En un primer momento se observa que la segunda pasada es mayor que 3 veces la profundidad mínima de la máquina y 3 veces mayor que la tercera pasada, luego incrementamos el espesor de la tercera pasada en amin y reducimos el espesor de la segunda pasada en amin. Tras este primer
cambio se observa que la segunda pasada es mayor que la tercera que es a su vez mayor que la cuarta, luego incrementando el espesor de la cuarta pasada en amin y reduciendo el espesor de la segunda pasada en amin obtenemos una