09/12/2019, 06:18:10 pm *
Bienvenido(a), Visitante. Por favor, ingresa o regístrate.

Ingresar con nombre de usuario, contraseña y duración de la sesión
Noticias: Homenaje a aladan
 
 
Páginas: [1]   Ir Abajo
  Imprimir  
Autor Tema: Consulta de resolución de ecuación  (Leído 334 veces)
0 Usuarios y 1 Visitante están viendo este tema.
solete
Nuevo
*

Karma: +0/-0
Desconectado Desconectado

Sexo: Masculino
España España

Mensajes: 3


Ver Perfil
« : 22/08/2019, 10:00:04 am »

Hola a todos,

Estoy analizando una aplicación que realiza cálculos de mezclas de un producto, el objetivo que estoy buscando son métodos de solución a este problema, ya que el método actual tarda mucho tiempo y no resuelve todos los casos. Al final os planteo las dudas o inquietudes que tengo.

El problema es el siguiente.

Tenemos un mismo productos almacenado en diferentes almacenes, cada almacén tiene un contenido de azufre diferente (por ejemplo 0.140%).

Se busca la mezcla que se ha realizar de los diferentes almacenes para conseguir una cantidad determinada de producto final con un contenido de azufre dado.

Ejemplo:

Queremos calcular la cantidad a mezcla de los diferentes almacenes disponibles para obtener 1500 kg de producto con un azufre 0,225. 

Almacén 1: Cantidad 5000 kg Azufre 0,04 %
Almacén 2: Cantidad 2000 kg Azufre 0,15 %
Almacén 3: Cantidad 3000 kg Azufre 0,300 %
Almacén 4: Cantidad 6000 kg Azufre 0,400 %

El método actual de solución es el siguiente:

1.- Empezamos generamos todas las posibles combinaciones sin repetición de los almacenes disponibles.

Para este ejemplo seleccionamos una de las combinaciones que es Almacén 1, 2, 3 y 4. 

2.- Comprobamos cada combinación siguiendo el siguiente método o ecuación:

2.1.- Separamos los almacenes de la combinación en calidad menor o mayor del azufre medio por los que tendríamos:
-Almacén 1 y 2 son de azufre menor.
-Almacén 3 y 4 son de azufre mayor.

2.2.- Dividimos la cantidad total de producto a calcular entre el número de componentes y se la asignamos inicialmente a cada componente.

por lo que tenemos [texx]\displaystyle\frac{1500}{4}=375[/texx] y la combinación quedaría así:

Almacén 1: Cantidad a mezclar 375 azufre 0,04 menor
Almacén 2: Cantidad a mezclar 375 azufre 0,15 menor
Almacén 3: Cantidad a mezclar 375 azufre 0,300 mayor
Almacén 4: Cantidad a mezclar 375 azufre 0,400 mayor
 
2.3- Usando la siguiente formula para ponderar calculamos el resultado de azufre total de la mezcla:

[texx]Z_T = \displaystyle\frac{(C_A1 * Z_A1) + (C_A2 * Z_A2) + (C_A3 * Z_A3) + (C_A4 * Z_A4)}{C_T}[/texx]

[texx]Z_T[/texx] es el azufre total resultante.
[texx]C_T[/texx] cantidad de producto a obtener.
[texx]Z_A1[/texx] azufre almacén 1.
[texx]Z_A2[/texx] azufre almacén 2.
[texx]Z_A3[/texx] azufre almacén 3.
[texx]Z_A4[/texx] azufre almacén 4.
[texx]C_A1[/texx] cantidad de mezcla del almacén 1.
[texx]C_A2[/texx] cantidad de mezcla del almacén 2.
[texx]C_A3[/texx] cantidad de mezcla del almacén 3.
[texx]C_A4[/texx] cantidad de mezcla del almacén 4. 

2.4- Calculamos la diferencia del azufre total con el azufre objetivo:
-Si la diferencia es cero. SOLUCIÓN ENCONTRADA!!!  Aplauso
-Si la diferencia positiva, es decir falta azufre. Sumaremos un "Incremento" a la cantidad de los componentes de azufre mayor y restaremos el "Incremento" de los de los componentes de azufre menor.
-Si la diferencia negativa, es decir sobra azufre. Sumaremos un "Incremento" a la cantidad de los componentes de azufre menor y restaremos el "Incremento" de los de los componentes de azufre mayor.

El objetivo de este paso es ir aproximándose al resultado iterando hasta alcanzar el azufre objetivo o que el "Incremento" llegue a cero o combinación no valida.

"Incremento": Se calcula en cada iteración dividiéndose entre 2. La primera vez se corresponde con la cantidad asignada al principio (paso 2.2) dividida entre 2.

Las cantidades de producto son con decimales.

Inquietudes o dudas:

-El método de solución aplicado corresponde con alguno conocido, ¿Cual seria? (para profundizar en el tema y mejorarlo).
-¿Hay alguna forma de evaluar la formula de ponderación sin tener que calcular cantidades para los componentes e ir aproximándose al resultado?.
Si existe otro método alternativo, ¿como se denomina?

Disculpar si me he extendido mucho y muchas gracias por vuestro tiempo y ayuda.


   











   
En línea
Abdulai
Moderador Global
Pleno*
*

Karma: +0/-0
Desconectado Desconectado

Sexo: Masculino
Argentina Argentina

Mensajes: 2.259


Ver Perfil
« Respuesta #1 : 22/08/2019, 12:53:33 pm »

Estoy analizando una aplicación que realiza cálculos de mezclas de un producto, el objetivo que estoy buscando son métodos de solución a este problema, ya que el método actual tarda mucho tiempo y no resuelve todos los casos.

....
El problema es el siguiente.

Tenemos un mismo productos almacenado en diferentes almacenes, cada almacén tiene un contenido de azufre diferente (por ejemplo 0.140%).

Se busca la mezcla que se ha realizar de los diferentes almacenes para conseguir una cantidad determinada de producto final con un contenido de azufre dado.

Ejemplo:

Queremos calcular la cantidad a mezcla de los diferentes almacenes disponibles para obtener 1500 kg de producto con un azufre 0,225. 

Almacén 1: Cantidad 5000 kg Azufre 0,04 %
Almacén 2: Cantidad 2000 kg Azufre 0,15 %
Almacén 3: Cantidad 3000 kg Azufre 0,300 %
Almacén 4: Cantidad 6000 kg Azufre 0,400 %

Esta clase de problemas pertenecen a la "Programación Lineal". Si bien estudiando los métodos conocidos podés aplicarlos al problema,  en tu caso es mas negocio usar directamente el software existente o hacerte una hoja Excel y resolver mediante Solver (con 4 variables es casi instantáneo) .   


Pero hagas lo que hagas, si no agregas una función objetivo (mas restricciones) el número de soluciones en general será infinito.
Acá la función objetivo puede ser un valor asociado al costo del kilo de material y su costo logístico, por ejemplo:
Almacén 1: 1 x kilo
Almacén 2: 1.2 x kilo
Almacén 3: 0.8 x kilo
Almacén 4: 0.7 x kilo

y la función objetivo:  [texx]Costo_{total} = Alm_1*1 + Alm_2*1.2 + Alm_3*0.8 + Alm_4*0.7[/texx]  debe ser mínima.

Las restricciones son que las cantidades deben ser positivas y menores de lo que hay en almacén.



Calculo que la hoja Excel con Solver de esto ocupa menos espacio que lo que llevo escrito :sonrisa:

En línea
solete
Nuevo
*

Karma: +0/-0
Desconectado Desconectado

Sexo: Masculino
España España

Mensajes: 3


Ver Perfil
« Respuesta #2 : 22/08/2019, 03:45:11 pm »

Estoy analizando una aplicación que realiza cálculos de mezclas de un producto, el objetivo que estoy buscando son métodos de solución a este problema, ya que el método actual tarda mucho tiempo y no resuelve todos los casos.

....
El problema es el siguiente.

Tenemos un mismo productos almacenado en diferentes almacenes, cada almacén tiene un contenido de azufre diferente (por ejemplo 0.140%).

Se busca la mezcla que se ha realizar de los diferentes almacenes para conseguir una cantidad determinada de producto final con un contenido de azufre dado.

Ejemplo:

Queremos calcular la cantidad a mezcla de los diferentes almacenes disponibles para obtener 1500 kg de producto con un azufre 0,225. 

Almacén 1: Cantidad 5000 kg Azufre 0,04 %
Almacén 2: Cantidad 2000 kg Azufre 0,15 %
Almacén 3: Cantidad 3000 kg Azufre 0,300 %
Almacén 4: Cantidad 6000 kg Azufre 0,400 %

Esta clase de problemas pertenecen a la "Programación Lineal". Si bien estudiando los métodos conocidos podés aplicarlos al problema,  en tu caso es mas negocio usar directamente el software existente o hacerte una hoja Excel y resolver mediante Solver (con 4 variables es casi instantáneo) .   


Pero hagas lo que hagas, si no agregas una función objetivo (mas restricciones) el número de soluciones en general será infinito.
Acá la función objetivo puede ser un valor asociado al costo del kilo de material y su costo logístico, por ejemplo:
Almacén 1: 1 x kilo
Almacén 2: 1.2 x kilo
Almacén 3: 0.8 x kilo
Almacén 4: 0.7 x kilo

y la función objetivo:  [texx]Costo_{total} = Alm_1*1 + Alm_2*1.2 + Alm_3*0.8 + Alm_4*0.7[/texx]  debe ser mínima.

Las restricciones son que las cantidades deben ser positivas y menores de lo que hay en almacén.



Calculo que la hoja Excel con Solver de esto ocupa menos espacio que lo que llevo escrito :sonrisa:



Primero muchas gracias por tu aporte.

En cuanto al método de calculo que e explicado en la realidad es mucho mas complejo y con muchas restricciones aun así se llegan a calcular alrededor de 4 millones de combinaciones y de momento solo conseguimos analizar unas 400000 (10%) por razones de tiempo de calculo, en las cuales encontramos soluciones correctas, pero me surge la duda de si hay combinaciones mejores sin encontrar todas las posibles.   

Como el objetivo de la consulta es la función de ponderación indicada y los posibles métodos alternativos para rersolverlo he simplificado las explicaciones.

[texx]Z_T = \displaystyle\frac{(C_A1 * Z_A1) + (C_A2 * Z_A2) + (C_A3 * Z_A3) + (C_A4 * Z_A4)}{C_T}[/texx]

En cuanto a programación lineal lo estuve pensando pero no me cuadraba porque solo tengo 1 ecuación y deberían ser al menos tantas ecuaciones como incógnitas (menos 1).

¿Hay algún método dentro de la programación lineal para generar mas ecuaciones que permita aplicar una solución vía programación? o
¿Cada restricción debe generar una ecuación y así formar el sistema de ecuaciones necesarias para aplicar programación lineal?

Por otra parte en este caso no es una opción el usar otros programa como excel y solver, ya que el objetivo es precisamente ese, eliminar el uso de excel y otras del mismo estilo e integrarlo todo en una sola aplicación o sistema que controla todos los aspectos del negocio. De todas formas analizaré el calculo de excel+solver por si nos aporta mas información o idea de otro método de resolución.

Soy informático y muchas veces echo de menos tener a un matemático a mano para que me aclare o indique si los problemas a resolver ya existen y como se deben plantear.

Gracias de nuevo y un saludo,







En línea
Abdulai
Moderador Global
Pleno*
*

Karma: +0/-0
Desconectado Desconectado

Sexo: Masculino
Argentina Argentina

Mensajes: 2.259


Ver Perfil
« Respuesta #3 : 22/08/2019, 05:00:59 pm »

...
En cuanto al método de calculo que e explicado en la realidad es mucho mas complejo y con muchas restricciones aun así se llegan a calcular alrededor de 4 millones de combinaciones y de momento solo conseguimos analizar unas 400000 (10%) por razones de tiempo de calculo, en las cuales encontramos soluciones correctas, pero me surge la duda de si hay combinaciones mejores sin encontrar todas las posibles.   

Como el objetivo de la consulta es la función de ponderación indicada y los posibles métodos alternativos para rersolverlo he simplificado las explicaciones.

[texx]Z_T = \displaystyle\frac{(C_A1 * Z_A1) + (C_A2 * Z_A2) + (C_A3 * Z_A3) + (C_A4 * Z_A4)}{C_T}[/texx]

Te repito: Eso, así como lo estás planteando tiene infinitas soluciones.   
Además, la solución/es se calcula analíticamente. No hace falta fuerza bruta.



En tu ejemplo necesitás que la mezcla total sean 1500kg con 0.225% de azufre, OK?

Bien, eso se puede hacer de varias formas:
- Combinando solamente material del Almacen_1 con Almacen_3 (una sola solución)
- Combinando solamente material del Almacen_1 con Almacen_4 (una sola solución)
- Combinando solamente material del Almacen_2 con Almacen_3 (una sola solución)
- Combinando solamente material del Almacen_2 con Almacen_4 (una sola solución)
- Combinando material del Almacen_1 con Almacen_2 con Almacen_3 (infinitas soluciones)
- Combinando material del Almacen_1 con Almacen_2 con Almacen_4 (infinitas soluciones)
- y siguen las combinaciones infinitas...

También forzar ciertas cantidades, como ser:
- Usar 300kg del Almacen_1, 200kg del Almacen_3 y calcular analíticamente cuanto necesito de Almacen_2 (538kg) y Almacen_4 (462)
  (ojo que si me deliro con las arbitrariedades puede no tener solucion.


Cita
En cuanto a programación lineal lo estuve pensando pero no me cuadraba porque solo tengo 1 ecuación y deberían ser al menos tantas ecuaciones como incógnitas (menos 1).

No tenés 1 ecuación, tenés 2.

[texx] C_T = C_{A1}+C_{A2}+C_{A3}+C_{A4} = 1500[/texx]

[texx] Z_T = \dfrac{Z_1C_{A1}+Z_2C_{A2}+Z_3C_{A3}+Z_4C_{A4}}{C_T} = 0.225[/texx]


Pero para que sea un problema de optimización te falta una función a minimizar, generalmente un costo. 

Si no hay nada que minimizar... pues si no se establecen mas condiciones cualquiera de las infinitas soluciones dará igual.


Cita
¿Hay algún método dentro de la programación lineal para generar mas ecuaciones que permita aplicar una solución vía programación? o
¿Cada restricción debe generar una ecuación y así formar el sistema de ecuaciones necesarias para aplicar programación lineal?

El método se llama "Conocer el Problema", no podés agregar ecuaciones arbitrariamente.
Las restricciones pueden ser otra ecuación que deba cumplirse o el rango de las variables (no pueden ser negativas ni mayores de lo que que se tiene)

Si cada material tiene un precio distinto de acuerdo a su concentración de azufre, ahí tendrías una función costo a minimizar. 


Cita
Por otra parte en este caso no es una opción el usar otros programa como excel y solver, ya que el objetivo es precisamente ese, eliminar el uso de excel y otras del mismo estilo e integrarlo todo en una sola aplicación o sistema que controla todos los aspectos del negocio. De todas formas analizaré el calculo de excel+solver por si nos aporta mas información o idea de otro método de resolución.

Si solamente tenés dos condiciones: Cantidad total y concentración total y el resto me dá igual,  pues elegís dos almacenes y si hay soluciones fuera de rango elegís otro par. 
Si fallan todos se modifica la estrategia.  Pero no hay peor cosa que describir algo y después te salgan con "No es ese el caso"


Saludos.
En línea
solete
Nuevo
*

Karma: +0/-0
Desconectado Desconectado

Sexo: Masculino
España España

Mensajes: 3


Ver Perfil
« Respuesta #4 : 22/08/2019, 05:37:01 pm »

Hola Abdulai.

Muchas gracias y no te puedes imaginar lo que aprecio la información y el análisis que haces de los expuesto.

Disculpa si falto algo de concreción en el planteamiento, pero todo lo que as escrito me hace reflexionar y es de mucha utilidad.

Como bien dices "El método se llama "Conocer el Problema"" y ese era uno de los propósitos de preguntar en este foro de gente apasionada (profesionales) por las matemáticas.

Ahora me queda ver si puedo aplicar las ideas y/o métodos indicados por ti.

Un saludo,
 
En línea
Tachikomaia
Pleno*
*****

Karma: +0/-0
Desconectado Desconectado

Sexo: Masculino
Uruguay Uruguay

Mensajes: 199


Ver Perfil
« Respuesta #5 : 08/09/2019, 11:10:29 pm »

No sé resolverlo de momento.

Spoiler (click para mostrar u ocultar)
En línea
Páginas: [1]   Ir Arriba
  Imprimir  
 
Ir a:  

Impulsado por MySQL Impulsado por PHP Powered by SMF 1.1.4 | SMF © 2006, Simple Machines LLC XHTML 1.0 válido! CSS válido!