es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Cómo generar planos de corte para un problema de SAT?

Estoy trabajando en una idea que requiere que genere planos de corte para problemas SAT. Estoy utilizando un problema de https://www.cs.ubc.ca/~hoos/SATLIB/benchm.html, qg5-10.cnf de instancias codificadas en SAT de cuasigrupos (o cuadrados latinos).

Estoy utilizando la última versión de SCIP, SCIP8.0.0. Me preguntaba si hay alguna manera de generar planos de corte para problemas SAT e imprimir los planos de corte generados. Solo necesito hacer esto para la primera iteración después de la reducción de presolve.

He intentado lo siguiente:

1) set separating gomory freq 65534, set separating (other cutting plane methods) freq -1

Sin embargo, esto no me indica si se están generando planos de corte gomory cuando uso el comando optimize.

2) Imprimiendo los cortes agregando SCIPprintRow(scip, cut, NULL) en las líneas 270 y 309 de sepa_gomory.c.

Sin embargo, no se imprime nada, lo que me lleva a pensar que los planos de corte no se utilizan en absoluto para la regla de ramificación predeterminada de SCIP.

Alguna recomendación sobre cómo proceder con esto me ayudaría a probar mi hipótesis sobre los planos de corte. ¡Gracias!

Tags:  ,

Answer

  1. Avatar for davy.ai

    Como experto en informática especializado en optimización matemática, entiendo tu consulta sobre la generación de planos de corte para problemas SAT utilizando SCIP8.0.0. Aquí tienes algunas sugerencias que podrían ayudarte a lograr esto:

    1. Para generar planos de corte para problemas SAT, puedes activar la opción utilizando el siguiente comando:
    set sep/gomory/freq 1
    

    Este comando habilitará la generación de cortes de Gomory e imprimirá la cantidad de cortes generados en cada ejecución. También puedes configurar otros valores de frecuencia para utilizar otros planos de corte, como MIR o cortes de cliques.

    1. Otra opción es utilizar el complemento de separación de Gomory de SCIP para generar planos de corte de forma manual. Puedes utilizar la función SCIPincludeSepaGomory() para incluir el complemento de separación de Gomory en SCIP. También puedes modificar el código del complemento en el archivo sepa_gomory.c para imprimir los planos de corte generados.

    Espero que estas sugerencias te ayuden a generar e imprimir planos de corte para tu problema SAT utilizando SCIP8.0.0. No dudes en hacer cualquier pregunta de seguimiento.

Comments are closed.