¿Por qué no se incluye el problema de mochila en la categoría de algoritmos de programación lineal a pesar de que el enunciado del problema de mochila parece similar a los problemas en programación lineal.?¿Por qué resolver Knapsack probl. no se considera como programación lineal?
Respuesta
Knapsack se puede escribir como programa de programación lineal entero programa. A diferencia de la programación lineal normal, este problema requiere que las variables en la solución sean números enteros. Se sabe que la programación lineal se puede resolver en tiempo polinomial, mientras que la programación lineal entera es NP-completa.
Ejercicio para el lector: demuestre que 3SAT se puede reducir a la programación lineal entera.
Trivia: existen algoritmos de aproximación para problemas tales como MAX-3SAT (una variante de 3SAT donde queremos maximizar el número de cláusulas satisfechas). Primero escribe MAX-3SAT como un programa lineal entero. Entonces, usted relaje en el programa lineal, eliminando la restricción de entero. Luego, resuelve el programa lineal en tiempo polinomial. Finalmente, dada real x i ∈ [0,1], que ellos ronda para números enteros, o Generar solución entero aleatorio y i donde probabilidad de y i = 1 es x i.
Como complemento: http://stackoverflow.com/q/3128001/395857 –
Vale la pena señalar que, en general, a menudo es relativamente fácil reducir un problema NP dado a ILP. –
- 1. ¿Qué es la programación lineal?
- 2. Rcov: ¿Por qué este código no se considera cubierto?
- 3. Cómo resolver el problema de programación lineal con DotNumerics?
- 4. ¿Por qué este certificado X.509 no se considera válido?
- 5. Biblioteca de programación no lineal en C++
- 6. programación lineal en python?
- 7. ¿Por qué el ORM se considera bueno pero el "seleccionar *" se considera malo?
- 8. ¿Por qué se considera sizeof a un operador?
- 9. ¿Por qué Hibernate STRING no se puede resolver?
- 10. ¿Qué respuestas considera jQuery.ajax como "exitosas"?
- 11. por qué utilizar Conde con IQueryable se considera inviable
- 12. ¿Por qué se considera que un "tipo inestable" es malo
- 13. Por qué se considera que HTTP/SOAP es "grueso"
- 14. ¿Por qué asignar o inicializar NSDateFormatter se considera "costoso"?
- 15. (¿por qué) se considera dañino el selector de estrella CSS?
- 16. ¿Por qué esta matriz de Java se considera bidimensional?
- 17. ¿Por qué javascript: void (0) se considera dañino?
- 18. Programación lineal: ¿significados variables dobles simples?
- 19. ¿Qué bibliotecas debo usar para la programación lineal en python?
- 20. ¿Se considera `qrefresh` dañino?
- 21. ¿Por qué el transformador de mónada ListT se considera defectuoso? ¿Qué leyes de mónada se rompen?
- 22. ¿Buena biblioteca de programación lineal para C#?
- 23. ¿Por qué no se aplica Colspan como se esperaba?
- 24. ¿Por qué el readf no se comporta como se esperaba?
- 25. R.menu no se puede resolver
- 26. ¿Por qué se 'implementa' como 'como'?
- 27. ¿Qué considera unicornio como solicitudes "rápidas" y "lentas"?
- 28. mejor manera de resolver una ecuación lineal en el código
- 29. ¿Por qué el valor de coma flotante como 3.14 se considera como el doble de forma predeterminada en MSVC?
- 30. ¿Por qué no ha atrapado la programación lógica?
@ yes123 En la programación lineal, son las restricciones que son lineales, no el tiempo. – fgb