Python - Ayuda para asignar 2 valores a 1 variable en restricciones

 
Vista:

Ayuda para asignar 2 valores a 1 variable en restricciones

Publicado por Mccornik (1 intervención) el 18/11/2019 13:32:55
Buenas! Estamos realizando un trabajo para la universidad en python con el paquete de restricciones, y en una de ellas se nos pide asignar 2 asignaturas a cada profesor. Tenemos 3 profesores y 6 asignaturas, entonces la idea es que cada profesor tenga 2 distintas de los demas.
De primeras lo hemos hecho un poco a capón y nos sale, pero nos gustaría saber si hay alguna forma de implementarlo más eficientemente.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
variables4 = {'p1': 'Lucia imparte:',
             'p2': ' y',
             'p3': 'Andrea imparte:',
             'p4': ' y',
             'p5': 'Juan imparte:',
             'p6': ' y'}
 
problem.addVariables(variables4,[1,2,3,4,5,6])
 
domain={1:'Ciencias Sociales',2:'Ciencias Naturales',3:'Lengua Castellana',4:'Ingles',5:'Educacion Fisica',6:'Matematicas'}
 
#Restriccion. Que todos los valores de los profesores sean distintos
 
problem.addConstraint(AllDifferentConstraint(),('p1','p2','p3','p4','p5','p6'))


Esta es la parte de codigo correspondiente, al ejecutar para saber las soluciones lo realiza sin problemas pero asignando un valor distinto a cada variable, habría alguna forma por la cual usando solo p1, p3 y p5 de forma que reciban 2 valores cada una sin repetirse?

Cualquier ayuda es bienvenida

Gracias!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder