optlang.ipynb
{
"metadata": {
"name": "",
"signature": "sha256:5793db1e64fac3e9dae0f1e877064c1145c0068b0584d0e2d8bb06b7b3d16ab0"
},
"nbformat": 3,
"nbformat_minor": 0,
"worksheets": [
{
"cells": [
{
"cell_type": "code",
"collapsed": false,
"input": [
"import optlang"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 1
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Cplex interface"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"from cplex import Cplex\n",
"from optlang.cplex_interface import Model"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 2
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"cplex_problem = Cplex()\n",
"cplex_problem.read(\"./tests/data/model.lp\")\n",
"solver = Model(problem=cplex_problem)\n",
"print solver"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": [
"\\ENCODING=ISO-8859-1\n",
"\\Problem name: ./tests/data/model.lp\n",
"\n",
"Maximize\n",
" obj: R_Biomass_Ecoli_core_w_GAM\n",
"Subject To\n",
" M_13dpg_c: R_PGK + R_GAPD = 0\n",
" M_2pg_c: - R_PGM - R_ENO = 0\n",
" M_3pg_c: - 1.496 R_Biomass_Ecoli_core_w_GAM - R_PGK + R_PGM = 0\n",
" M_6pgc_c: R_PGL - R_GND = 0\n",
" M_6pgl_c: - R_PGL + R_G6PDH2r = 0\n",
" M_ac_c: R_ACt2r - R_ACKr = 0\n",
" M_ac_e: - R_ACt2r - R_EX_ac_e = 0\n",
" M_acald_c: R_ALCD2x + R_ACALDt - R_ACALD = 0\n",
" M_acald_e: - R_ACALDt - R_EX_acald_e = 0\n",
" M_accoa_c: - 3.7478 R_Biomass_Ecoli_core_w_GAM + R_ACALD - R_PTAr + R_PFL\n",
" + R_PDH - R_MALS - R_CS = 0\n",
" M_acon_C_c: - R_ACONTb + R_ACONTa = 0\n",
" M_actp_c: R_ACKr + R_PTAr = 0\n",
" M_adp_c: 59.81 R_Biomass_Ecoli_core_w_GAM + R_PGK + R_ACKr + R_SUCOAS\n",
" - R_PYK + R_PPCK + R_PFK + R_GLNabc + R_GLNS - R_ATPS4r + R_ATPM\n",
" + 2 R_ADK1 = 0\n",
" M_akg_c: 4.1182 R_Biomass_Ecoli_core_w_GAM + R_ICDHyr - R_GLUSy + R_GLUDy\n",
" + R_AKGt2r - R_AKGDH = 0\n",
" M_akg_e: - R_AKGt2r - R_EX_akg_e = 0\n",
" M_amp_c: - R_ADK1 + R_PPS = 0\n",
" M_atp_c: - 59.81 R_Biomass_Ecoli_core_w_GAM - R_PGK - R_ACKr - R_SUCOAS\n",
" + R_PYK - R_PPCK - R_PFK - R_GLNabc - R_GLNS + R_ATPS4r - R_ATPM\n",
" - R_ADK1 - R_PPS = 0\n",
" M_cit_c: R_CS - R_ACONTa = 0\n",
" M_co2_c: R_GND + R_PDH + R_PPCK + R_ICDHyr + R_AKGDH - R_PPC + R_ME2\n",
" + R_ME1 + R_CO2t = 0\n",
" M_co2_e: - R_CO2t - R_EX_co2_e = 0\n",
" M_coa_c: 3.7478 R_Biomass_Ecoli_core_w_GAM - R_ACALD + R_PTAr - R_PFL\n",
" - R_PDH + R_MALS + R_CS - R_SUCOAS - R_AKGDH = 0\n",
" M_dhap_c: - R_TPI + R_FBA = 0\n",
" M_e4p_c: - 0.361 R_Biomass_Ecoli_core_w_GAM - R_TKT2 + R_TALA = 0\n",
" M_etoh_c: - R_ALCD2x + R_ETOHt2r = 0\n",
" M_etoh_e: - R_ETOHt2r - R_EX_etoh_e = 0\n",
" M_f6p_c: - 0.0709 R_Biomass_Ecoli_core_w_GAM - R_PFK + R_TKT2 + R_TALA\n",
" + R_PGI + R_FRUpts2 + R_FBP = 0\n",
" M_fdp_c: R_PFK - R_FBA - R_FBP = 0\n",
" M_for_c: R_PFL - R_FORti + R_FORt2 = 0\n",
" M_for_e: R_FORti - R_FORt2 - R_EX_for_e = 0\n",
" M_fru_e: - R_FRUpts2 - R_EX_fru_e = 0\n",
" M_fum_c: R_SUCDi + R_FUMt2_2 - R_FUM - R_FRD7 = 0\n",
" M_fum_e: - R_FUMt2_2 - R_EX_fum_e = 0\n",
" M_g3p_c: - 0.129 R_Biomass_Ecoli_core_w_GAM - R_GAPD + R_TPI + R_FBA\n",
" + R_TKT2 - R_TALA + R_TKT1 = 0\n",
" M_g6p_c: - 0.205 R_Biomass_Ecoli_core_w_GAM - R_G6PDH2r - R_PGI + R_GLCpts\n",
" = 0\n",
" M_glc_D_e: - R_GLCpts - R_EX_glc_e = 0\n",
" M_gln_L_c: - 0.2557 R_Biomass_Ecoli_core_w_GAM + R_GLNabc + R_GLNS - R_GLUSy\n",
" - R_GLUN = 0\n",
" M_gln_L_e: - R_GLNabc - R_EX_gln_L_e = 0\n",
" M_glu_L_c: - 4.9414 R_Biomass_Ecoli_core_w_GAM - R_GLNS + 2 R_GLUSy - R_GLUDy\n",
" + R_GLUN + R_GLUt2r = 0\n",
" M_glu_L_e: - R_GLUt2r - R_EX_glu_L_e = 0\n",
" M_glx_c: - R_MALS + R_ICL = 0\n",
" M_h2o_c: - 59.81 R_Biomass_Ecoli_core_w_GAM + R_ENO - R_PGL - R_MALS - R_CS\n",
" - R_ACONTb + R_ACONTa - R_GLNabc + R_ATPS4r - R_ATPM - R_GLUDy\n",
" - R_PPS - R_PPC - R_FBP - R_FUM - R_GLUN + R_H2Ot + R_CYTBD = 0\n",
" M_h2o_e: - R_H2Ot - R_EX_h2o_e = 0\n",
" M_h_c: 59.81 R_Biomass_Ecoli_core_w_GAM + R_GAPD + R_PGL + R_G6PDH2r\n",
" + R_ACt2r + R_ALCD2x + R_ACALD + R_MALS + R_CS - R_PYK + R_PFK\n",
" + R_GLNabc + R_GLNS + 3 R_ATPS4r + R_ATPM - R_GLUSy + R_GLUDy\n",
" + R_AKGt2r + 2 R_PPS + R_PPC + R_ETOHt2r + R_FORt2 + 2 R_FUMt2_2\n",
" + R_GLUt2r - 2 R_CYTBD + 2 R_THD2 + R_SUCCt3 + 2 R_SUCCt2_2\n",
" + R_PYRt2r + R_PIt2r - 4 R_NADH16 + R_MDH + 2 R_MALt2_2 + R_LDH_D\n",
" + R_D_LACt2 = 0\n",
" M_h_e: - R_ACt2r - 4 R_ATPS4r - R_AKGt2r - R_ETOHt2r - R_FORt2\n",
" - 2 R_FUMt2_2 - R_GLUt2r + 2 R_CYTBD - 2 R_THD2 - R_SUCCt3\n",
" - 2 R_SUCCt2_2 - R_PYRt2r - R_PIt2r + 3 R_NADH16 - 2 R_MALt2_2\n",
" - R_D_LACt2 - R_EX_h_e = 0\n",
" M_icit_c: R_ACONTb - R_ICDHyr - R_ICL = 0\n",
" M_lac_D_c: - R_LDH_D + R_D_LACt2 = 0\n",
" M_lac_D_e: - R_D_LACt2 - R_EX_lac_D_e = 0\n",
" M_mal_L_c: R_MALS - R_ME2 - R_ME1 + R_FUM - R_MDH + R_MALt2_2 = 0\n",
" M_mal_L_e: - R_MALt2_2 - R_EX_mal_L_e = 0\n",
" M_nad_c: - 3.547 R_Biomass_Ecoli_core_w_GAM - R_GAPD - R_ALCD2x - R_ACALD\n",
" - R_PDH - R_AKGDH - R_ME1 + R_THD2 + R_NADH16 - R_MDH - R_LDH_D\n",
" - R_NADTRHD = 0\n",
" M_nadh_c: 3.547 R_Biomass_Ecoli_core_w_GAM + R_GAPD + R_ALCD2x + R_ACALD\n",
" + R_PDH + R_AKGDH + R_ME1 - R_THD2 - R_NADH16 + R_MDH + R_LDH_D\n",
" + R_NADTRHD = 0\n",
" M_nadp_c: 13.0279 R_Biomass_Ecoli_core_w_GAM - R_GND - R_G6PDH2r - R_ICDHyr\n",
" + R_GLUSy - R_GLUDy - R_ME2 - R_THD2 + R_NADTRHD = 0\n",
" M_nadph_c: - 13.0279 R_Biomass_Ecoli_core_w_GAM + R_GND + R_G6PDH2r\n",
" + R_ICDHyr - R_GLUSy + R_GLUDy + R_ME2 + R_THD2 - R_NADTRHD = 0\n",
" M_nh4_c: - R_GLNS + R_GLUDy + R_GLUN + R_NH4t = 0\n",
" M_nh4_e: - R_NH4t - R_EX_nh4_e = 0\n",
" M_o2_c: - 0.5 R_CYTBD + R_O2t = 0\n",
" M_o2_e: - R_O2t - R_EX_o2_e = 0\n",
" M_oaa_c: - 1.7867 R_Biomass_Ecoli_core_w_GAM - R_CS - R_PPCK + R_PPC\n",
" + R_MDH = 0\n",
" M_pep_c: - 0.5191 R_Biomass_Ecoli_core_w_GAM + R_ENO - R_PYK + R_PPCK\n",
" + R_PPS - R_PPC - R_FRUpts2 - R_GLCpts = 0\n",
" M_pi_c: 59.81 R_Biomass_Ecoli_core_w_GAM - R_GAPD - R_PTAr + R_SUCOAS\n",
" + R_GLNabc + R_GLNS - R_ATPS4r + R_ATPM + R_PPS + R_PPC + R_FBP\n",
" + R_PIt2r = 0\n",
" M_pi_e: - R_PIt2r - R_EX_pi_e = 0\n",
" M_pyr_c: - 2.8328 R_Biomass_Ecoli_core_w_GAM - R_PFL - R_PDH + R_PYK\n",
" - R_PPS + R_ME2 + R_ME1 + R_FRUpts2 + R_GLCpts + R_PYRt2r\n",
" + R_LDH_D = 0\n",
" M_pyr_e: - R_PYRt2r - R_EX_pyr_e = 0\n",
" M_q8_c: - R_SUCDi + R_FRD7 + R_CYTBD - R_NADH16 = 0\n",
" M_q8h2_c: R_SUCDi - R_FRD7 - R_CYTBD + R_NADH16 = 0\n",
" M_r5p_c: - 0.8977 R_Biomass_Ecoli_core_w_GAM - R_TKT1 - R_RPI = 0\n",
" M_ru5p_D_c: R_GND + R_RPI - R_RPE = 0\n",
" M_s7p_c: - R_TALA + R_TKT1 = 0\n",
" M_succ_c: - R_SUCOAS - R_SUCDi + R_FRD7 + R_ICL - R_SUCCt3 + R_SUCCt2_2 = 0\n",
" M_succ_e: R_SUCCt3 - R_SUCCt2_2 - R_EX_succ_e = 0\n",
" M_succoa_c: R_SUCOAS + R_AKGDH = 0\n",
" M_xu5p_D_c: - R_TKT2 - R_TKT1 + R_RPE = 0\n",
"Bounds\n",
" 0 <= R_Biomass_Ecoli_core_w_GAM <= 10000000\n",
"-10000000 <= R_PGK <= 10000000\n",
"-10000000 <= R_GAPD <= 10000000\n",
"-10000000 <= R_PGM <= 10000000\n",
"-10000000 <= R_ENO <= 10000000\n",
" 0 <= R_PGL <= 10000000\n",
" 0 <= R_GND <= 10000000\n",
"-10000000 <= R_G6PDH2r <= 10000000\n",
"-10000000 <= R_ACt2r <= 10000000\n",
"-10000000 <= R_ACKr <= 10000000\n",
" 0 <= R_EX_ac_e <= 10000000\n",
"-10000000 <= R_ALCD2x <= 10000000\n",
"-10000000 <= R_ACALDt <= 10000000\n",
"-10000000 <= R_ACALD <= 10000000\n",
" 0 <= R_EX_acald_e <= 10000000\n",
"-10000000 <= R_PTAr <= 10000000\n",
" 0 <= R_PFL <= 10000000\n",
" 0 <= R_PDH <= 10000000\n",
" 0 <= R_MALS <= 10000000\n",
" 0 <= R_CS <= 10000000\n",
"-10000000 <= R_ACONTb <= 10000000\n",
"-10000000 <= R_ACONTa <= 10000000\n",
"-10000000 <= R_SUCOAS <= 10000000\n",
" 0 <= R_PYK <= 10000000\n",
" 0 <= R_PPCK <= 10000000\n",
" 0 <= R_PFK <= 10000000\n",
" 0 <= R_GLNabc <= 10000000\n",
" 0 <= R_GLNS <= 10000000\n",
"-10000000 <= R_ATPS4r <= 10000000\n",
" 8.39 <= R_ATPM <= 10000000\n",
"-10000000 <= R_ADK1 <= 10000000\n",
"-10000000 <= R_ICDHyr <= 10000000\n",
" 0 <= R_GLUSy <= 10000000\n",
"-10000000 <= R_GLUDy <= 10000000\n",
"-10000000 <= R_AKGt2r <= 10000000\n",
" 0 <= R_AKGDH <= 10000000\n",
" 0 <= R_EX_akg_e <= 10000000\n",
" 0 <= R_PPS <= 10000000\n",
" 0 <= R_PPC <= 10000000\n",
" 0 <= R_ME2 <= 10000000\n",
" 0 <= R_ME1 <= 10000000\n",
"-10000000 <= R_CO2t <= 10000000\n",
"-10000000 <= R_EX_co2_e <= 10000000\n",
"-10000000 <= R_TPI <= 10000000\n",
"-10000000 <= R_FBA <= 10000000\n",
"-10000000 <= R_TKT2 <= 10000000\n",
"-10000000 <= R_TALA <= 10000000\n",
"-10000000 <= R_ETOHt2r <= 10000000\n",
" 0 <= R_EX_etoh_e <= 10000000\n",
"-10000000 <= R_PGI <= 10000000\n",
" 0 <= R_FRUpts2 <= 10000000\n",
" 0 <= R_FBP <= 10000000\n",
" 0 <= R_FORti <= 10000000\n",
" 0 <= R_FORt2 <= 10000000\n",
" 0 <= R_EX_for_e <= 10000000\n",
" 0 <= R_EX_fru_e <= 10000000\n",
" 0 <= R_SUCDi <= 10000000\n",
" 0 <= R_FUMt2_2 <= 10000000\n",
"-10000000 <= R_FUM <= 10000000\n",
" 0 <= R_FRD7 <= 10000000\n",
" 0 <= R_EX_fum_e <= 10000000\n",
"-10000000 <= R_TKT1 <= 10000000\n",
" 0 <= R_GLCpts <= 10000000\n",
"-10 <= R_EX_glc_e <= 10000000\n",
" 0 <= R_GLUN <= 10000000\n",
" 0 <= R_EX_gln_L_e <= 10000000\n",
"-10000000 <= R_GLUt2r <= 10000000\n",
" 0 <= R_EX_glu_L_e <= 10000000\n",
" 0 <= R_ICL <= 10000000\n",
"-10000000 <= R_H2Ot <= 10000000\n",
" 0 <= R_CYTBD <= 10000000\n",
"-10000000 <= R_EX_h2o_e <= 10000000\n",
" 0 <= R_THD2 <= 10000000\n",
" 0 <= R_SUCCt3 <= 10000000\n",
" 0 <= R_SUCCt2_2 <= 10000000\n",
"-10000000 <= R_PYRt2r <= 10000000\n",
"-10000000 <= R_PIt2r <= 10000000\n",
" 0 <= R_NADH16 <= 10000000\n",
"-10000000 <= R_MDH <= 10000000\n",
" 0 <= R_MALt2_2 <= 10000000\n",
"-10000000 <= R_LDH_D <= 10000000\n",
"-10000000 <= R_D_LACt2 <= 10000000\n",
"-10000000 <= R_EX_h_e <= 10000000\n",
" 0 <= R_EX_lac_D_e <= 10000000\n",
" 0 <= R_EX_mal_L_e <= 10000000\n",
" 0 <= R_NADTRHD <= 10000000\n",
"-10000000 <= R_NH4t <= 10000000\n",
"-10000000 <= R_EX_nh4_e <= 10000000\n",
"-10000000 <= R_O2t <= 10000000\n",
"-10000000 <= R_EX_o2_e <= 10000000\n",
"-10000000 <= R_EX_pi_e <= 10000000\n",
" 0 <= R_EX_pyr_e <= 10000000\n",
"-10000000 <= R_RPI <= 10000000\n",
"-10000000 <= R_RPE <= 10000000\n",
" 0 <= R_EX_succ_e <= 10000000\n",
"End\n",
"\n"
]
}
],
"prompt_number": 3
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"solver.optimize()"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": [
"Tried aggregator 1 time.\n"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"LP Presolve eliminated 23 rows and 25 columns.\n"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"Aggregator did 17 substitutions.\n"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"Reduced LP has 32 rows, 53 columns, and 215 nonzeros.\n"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"Presolve time = 0.00 sec. (0.08 ticks)\n"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"Initializing dual steep norms . . .\n"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"\n",
"Iteration log . . .\n"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"Iteration: 1 Dual objective = 8250995.276305\n"
]
},
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 4,
"text": [
"'optimal'"
]
}
],
"prompt_number": 4
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"c = solver.constraints.values()[0]"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 6
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"c.expression.as_terms()"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 12,
"text": [
"([(1.0*R_PGK, ((1.0, 0.0), (1, 0), ())),\n",
" (1.0*R_Biomass_Ecoli_core_w_GAM, ((1.0, 0.0), (0, 1), ()))],\n",
" [-10000000.0 <= R_PGK <= 10000000.0,\n",
" 0.0 <= R_Biomass_Ecoli_core_w_GAM <= 10000000.0])"
]
}
],
"prompt_number": 12
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"solver.constraints"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 6,
"text": [
"OrderedDict([('M_13dpg_c', M_13dpg_c: x == 0.0), ('M_2pg_c', M_2pg_c: x == 0.0), ('M_3pg_c', M_3pg_c: x == 0.0), ('M_6pgc_c', M_6pgc_c: x == 0.0), ('M_6pgl_c', M_6pgl_c: x == 0.0), ('M_ac_c', M_ac_c: x == 0.0), ('M_ac_e', M_ac_e: x == 0.0), ('M_acald_c', M_acald_c: x == 0.0), ('M_acald_e', M_acald_e: x == 0.0), ('M_accoa_c', M_accoa_c: x == 0.0), ('M_acon_C_c', M_acon_C_c: x == 0.0), ('M_actp_c', M_actp_c: x == 0.0), ('M_adp_c', M_adp_c: x == 0.0), ('M_akg_c', M_akg_c: x == 0.0), ('M_akg_e', M_akg_e: x == 0.0), ('M_amp_c', M_amp_c: x == 0.0), ('M_atp_c', M_atp_c: x == 0.0), ('M_cit_c', M_cit_c: x == 0.0), ('M_co2_c', M_co2_c: x == 0.0), ('M_co2_e', M_co2_e: x == 0.0), ('M_coa_c', M_coa_c: x == 0.0), ('M_dhap_c', M_dhap_c: x == 0.0), ('M_e4p_c', M_e4p_c: x == 0.0), ('M_etoh_c', M_etoh_c: x == 0.0), ('M_etoh_e', M_etoh_e: x == 0.0), ('M_f6p_c', M_f6p_c: x == 0.0), ('M_fdp_c', M_fdp_c: x == 0.0), ('M_for_c', M_for_c: x == 0.0), ('M_for_e', M_for_e: x == 0.0), ('M_fru_e', M_fru_e: x == 0.0), ('M_fum_c', M_fum_c: x == 0.0), ('M_fum_e', M_fum_e: x == 0.0), ('M_g3p_c', M_g3p_c: x == 0.0), ('M_g6p_c', M_g6p_c: x == 0.0), ('M_glc_D_e', M_glc_D_e: x == 0.0), ('M_gln_L_c', M_gln_L_c: x == 0.0), ('M_gln_L_e', M_gln_L_e: x == 0.0), ('M_glu_L_c', M_glu_L_c: x == 0.0), ('M_glu_L_e', M_glu_L_e: x == 0.0), ('M_glx_c', M_glx_c: x == 0.0), ('M_h2o_c', M_h2o_c: x == 0.0), ('M_h2o_e', M_h2o_e: x == 0.0), ('M_h_c', M_h_c: x == 0.0), ('M_h_e', M_h_e: x == 0.0), ('M_icit_c', M_icit_c: x == 0.0), ('M_lac_D_c', M_lac_D_c: x == 0.0), ('M_lac_D_e', M_lac_D_e: x == 0.0), ('M_mal_L_c', M_mal_L_c: x == 0.0), ('M_mal_L_e', M_mal_L_e: x == 0.0), ('M_nad_c', M_nad_c: x == 0.0), ('M_nadh_c', M_nadh_c: x == 0.0), ('M_nadp_c', M_nadp_c: x == 0.0), ('M_nadph_c', M_nadph_c: x == 0.0), ('M_nh4_c', M_nh4_c: x == 0.0), ('M_nh4_e', M_nh4_e: x == 0.0), ('M_o2_c', M_o2_c: x == 0.0), ('M_o2_e', M_o2_e: x == 0.0), ('M_oaa_c', M_oaa_c: x == 0.0), ('M_pep_c', M_pep_c: x == 0.0), ('M_pi_c', M_pi_c: x == 0.0), ('M_pi_e', M_pi_e: x == 0.0), ('M_pyr_c', M_pyr_c: x == 0.0), ('M_pyr_e', M_pyr_e: x == 0.0), ('M_q8_c', M_q8_c: x == 0.0), ('M_q8h2_c', M_q8h2_c: x == 0.0), ('M_r5p_c', M_r5p_c: x == 0.0), ('M_ru5p_D_c', M_ru5p_D_c: x == 0.0), ('M_s7p_c', M_s7p_c: x == 0.0), ('M_succ_c', M_succ_c: x == 0.0), ('M_succ_e', M_succ_e: x == 0.0), ('M_succoa_c', M_succoa_c: x == 0.0), ('M_xu5p_D_c', M_xu5p_D_c: x == 0.0)])"
]
}
],
"prompt_number": 6
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"?cplex_problem.quadratic_constraints.add"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 12
},
{
"cell_type": "code",
"collapsed": false,
"input": [],
"language": "python",
"metadata": {},
"outputs": []
}
],
"metadata": {}
}
]
}