Pregunta

Creé un modelo en Excel para usarlo junto con Solver.Funciona principalmente.El único problema es que Solver en realidad no trata correctamente las celdas restringidas como binarias.Cuando termina de encontrar una solución, algunos de los números son en realidad 0,9999996, 1,0000000003, 0,0000017, etc.

Estoy usando Excel 2004 en Mac OS X.¿Algunas ideas?

¿Fue útil?

Solución

Debido a la precisión finita de los ordenadores y la naturaleza de los algoritmos de optimización, el solucionador ha tolerancias incorporado. Me gustaría tratar de seleccionar el botón Opciones en el cuadro de diálogo Parámetros de Solver y luego aumentar la precisión (por ejemplo del valor predeterminado de 0,000001 a 0,00000001). No estoy seguro de si esto va a funcionar, pero vale la pena intentarlo.

Mi compañía hace un solucionador de calidad comercial enganchado a Excel llama What'sBest. Si lo anterior no funciona se podría considerarlo. Puede encontrar más información en www.lindo.com

Otros consejos

Si los valores binarios están lejos de ser 0 o 1, es posible que tenga que ir a las opciones en la ventana Solver y compruebe si la casilla "Ignorar las restricciones enteros se marcó".

Si el solucionador no puede encontrar una solución dentro del período de tiempo o la cantidad de iteraciones permitidas (o si no hay una respuesta correcta posible), no devolverá respuestas binarias.

Una posible solución, dependiendo del tipo de problema estás tratando de resolver y qué tan exacta es la respuesta que necesitas, es establecer algunas celdas (probablemente las que tienen los valores más pequeños en las celdas que está calculando) con las restricciones <=1 y >=0 en lugar de binario.La imagen que proporcionaste no aparece, por lo que no estoy exactamente seguro de lo que buscabas.

(Puede resultar útil configurar una celda con un producto de suma para las celdas que no están configuradas como binarias;vea abajo.)

Como ejemplo, si estás tratando de resolver un total de 22 (que no tiene solución), comienzas con:

9   1
9   1
9   1
6   1
3   1

Si configura todos los valores de la segunda columna como binarios, terminará con:

9   0.5625
9   0.5625
9   0.5625
6   0.708333333
3   0.854166667

Si configura los primeros 3 como binarios y los dos últimos como <=1 & >=0, terminas con:

9   0
9   1
9   1
6   0.333333333
3   0.666666667

La suma de las dos últimas filas = 4, que luego podría usar para establecer manualmente una de las dos últimas como 1 y la otra como 0, dependiendo de si desea una respuesta ligeramente por debajo o por encima del objetivo.

he tenido problema similar y podría resolverlo por ir a Opciones de Solver y luego consultar la sección "Uso de escala automática". No estoy seguro de que esto se solucionará su problema o no, pero vale la pena intentarlo.

Probablemente no es su problema, pero tenga en cuenta que hay una casilla de verificación en Opciones Ignore Integer Constraints que está activada de forma predeterminada en Excel Solver. Al menos ese es el caso en mi copia de Excel 2011 para Mac.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top