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.

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Para crear un poliedro con la entrada P(A,b)={x∣ A.x ≤ b} en Sage, puedes convertirlo a la forma A.x + b >= 0 de la siguiente manera:

    1. Niega ambos lados de la desigualdad: -A.x >= -b
    2. Agrega una variable de holgura y >= 0: -A.x + y = -b
    3. Convierte la desigualdad a un sistema de ecuaciones lineales: A.x – y = b
    4. Define el sistema de ecuaciones lineales en Sage utilizando la clase Polyhedron.

    Aquí tienes un ejemplo de código para crear un poliedro a partir de P(A,b) utilizando Sage:

    # Define la entrada P(A,b)
    A = matrix([[1, 2], [3, 4], [5, 6]])
    b = vector([7, 8, 9])
    
    # Convierte P(A,b) a A.x + b >= 0
    A_aug = matrix([[A[i,j] if j < A.ncols() else -1 for j in range(A.ncols()+1)] for i in range(A.nrows())])
    b_aug = -b
    
    # Define el poliedro
    P = Polyhedron(A_aug, b_aug)
    

    Este código crea un poliedro con las desigualdades x1 + 2x2 - y >= -7, 3x1 + 4x2 - y >= -8 y 5x1 + 6x2 - y >= -9.

Comments are closed.