On 03/06/2014 14:44, varun...@gmail.com wrote:
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];


Are you trying to implement your own code rather than use an existing library from pypi?

I also observe the gmail address which I'm assuming means google groups. If that is the case, would you please use the mailing list https://mail.python.org/mailman/listinfo/python-list or read and action this https://wiki.python.org/moin/GoogleGroupsPython to prevent us seeing double line spacing and single line paragraphs, thanks. If not please ignore this paragraph :)

--
My fellow Pythonistas, ask not what our language can do for you, ask what you can do for our language.

Mark Lawrence

---
This email is free from viruses and malware because avast! Antivirus protection 
is active.
http://www.avast.com


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

Reply via email to