I have a problem in writing a constraint in Python. Firstly, I wrote the code 
in AMPL and it was working and I'm using Python for the reason that it is more 
suitable to handle large data. I managed to write the code quite fine except 
for one constraint(Link Mapping Constraint). I've attached pieces of code from 
both AMPL and Python. First part of it is the Link Capacity Constraint in AMPl 
followed by Python. Second part of the code is the Link Mapping Constraint and 
I wish to write it in a similar fashion. But, I'm not able to proceed with it. 
I really appreciate your help.

subject to Link_Capacity_Constraints { (ns1, ns2) in PHY_LINKS}:
        sum {dns in DEMAND} ((f_eN_SGW[dns, ns1, ns2] * (MME_bdw[dns] + 
IMS_bdw[dns] + PoP_bdw[dns])) + (f_SGW_PGW[dns, ns1, ns2] * PoP_bdw[dns]) + 
(f_SGW_IMS[dns, ns1, ns2] * IMS_bdw[dns]) + (f_SGW_MME[dns, ns1, ns2] * 
MME_bdw[dns]) + (f_PGW_PoP[dns, ns1, ns2] * PoP_bdw[dns])) <= capacity_bdw[ns1, 
ns2];

        for edge in phy_network.edges:
            varNames = []
            varCoeffs = []
            for demand in demands:
                varNames.append("f_eN_SGW_{}_{}_{}".format(demand.demandID, 
edge.SourceID, edge.DestinationID))
                varCoeffs.append(demand.MME_bdw + demand.IMS_bdw + 
demand.PoP_bdw )
                varNames.append("f_SGW_PGW_{}_{}_{}".format(demand.demandID, 
edge.SourceID, edge.DestinationID))
                varCoeffs.append(demand.PoP_bdw)
                varNames.append("f_SGW_IMS_{}_{}_{}".format(demand.demandID, 
edge.SourceID, edge.DestinationID))
                varCoeffs.append(demand.IMS_bdw)
                varNames.append("f_SGW_MME_{}_{}_{}".format(demand.demandID, 
edge.SourceID, edge.DestinationID))
                varCoeffs.append(demand.MME_bdw)
                varNames.append("f_PGW_PoP_{}_{}_{}".format(demand.demandID, 
edge.SourceID, edge.DestinationID))
                varCoeffs.append(demand.PoP_bdw)        
            solver.add_constraint(varNames, varCoeffs, "L", edge.capacity_bdw, 
"Link_Capacity_Constraints{}_{}_{}".format(edge.SourceID, edge.DestinationID, 
demand.demandID))

#Link Mapping Constraint
subject to Link_Mapping_Constraints_1{dns in DEMAND, ns1 in PHY_NODES}: sum 
{(ns1,w) in PHY_LINKS} (f_eN_SGW[dns, w, ns1] - f_eN_SGW[dns, ns1, w]) = 
x_eN[dns, ns1] - x_SGW[dns, ns1];






-- 
https://mail.python.org/mailman/listinfo/python-list

Reply via email to