{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Optimal resource allocation in microbial growth\n",
"Sacha PSALMON, Baptiste SCHALL, Enzo ISNARD and Guillaume GROS\n",
"\n",
"\n",
"\n",
"[Thumbnail](maintenance.png)\n",
"\n",
"Microorganisms must assign the resources available in the environment to different cellular functions. In nature, it is assumed that bacteria have evolved in a way that their resource allocation strategies maximize their biomass. Consider the simple resource allocation mathematical model\n",
"\n",
"$$ \\begin{array}{rcl}\n",
"\\dot{p} &=& E_m m - (p+1) v_R(p,r), \\\\\n",
"\\dot{r} &=& (\\alpha r_{max}-r) v_R(p,r), \\\\\n",
"\\dot{m} &=& ((1-\\alpha) r_{max}-m) v_R(p,r),\n",
"\\end{array} $$\n",
"\n",
"where $p$, $r$, $m$ and $q$ are the mass fractions of: precursor metabolites, the gene expression machinery (ribosomes, RNA polymerase...), the metabolic machinery (enzymes, transporters...) and the housekeeping machinery respectively. The microbial growth rate is defined as $v_R(p,r) = \\frac{p(r-r_{min})}{K+p}$. Constants $E_M$, $r_{max}$, $r_{min}$ and $K$ are positive. Maximizing the bacterial biomass is equivalent to maximizing the integral of the growth rate over a fixed time window $[0,T]$. Thus, the cost function of the optimal control problem can be written as\n",
"\n",
"$$J(\\alpha) = \\int_0^T v_R(p,r) \\, \\mathrm{d}t \\to \\max $$\n",
"\n",
"with the resource allocation parameter (i.e. the control) constrained to $\\alpha(t) \\in [0,1]$."
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"\u001b[37m// +++DRAFT+++ This class implements the OCP functions\u001b[39;49;00m\n",
"\u001b[37m// It derives from the generic class bocop3OCPBase\u001b[39;49;00m\n",
"\u001b[37m// OCP functions are defined with templates since they will be called\u001b[39;49;00m\n",
"\u001b[37m// from both the NLP solver (double arguments) and AD tool (ad_double arguments)\u001b[39;49;00m\n",
"\u001b[37m//#pragma once\u001b[39;49;00m\n",
"\n",
"\u001b[36m#\u001b[39;49;00m\u001b[36minclude\u001b[39;49;00m \u001b[37m\u001b[39;49;00m\u001b[36m\u001b[39;49;00m\n",
"\u001b[37m// ///////////////////////////////////////////////////////////////////\u001b[39;49;00m\n",
"\n",
"\n",
"\u001b[34mtemplate\u001b[39;49;00m <\u001b[34mtypename\u001b[39;49;00m \u001b[04m\u001b[32mVariable\u001b[39;49;00m>\n",
"\u001b[36mvoid\u001b[39;49;00m OCP::finalCost(\u001b[36mdouble\u001b[39;49;00m initial_time, \u001b[36mdouble\u001b[39;49;00m final_time, \u001b[34mconst\u001b[39;49;00m Variable *initial_state, \u001b[34mconst\u001b[39;49;00m Variable *final_state, \u001b[34mconst\u001b[39;49;00m Variable *parameters, \u001b[34mconst\u001b[39;49;00m \u001b[36mdouble\u001b[39;49;00m *constants, Variable &final_cost)\n",
"{\n",
" \u001b[37m// maximize the volume of the bacteria\u001b[39;49;00m\n",
" final_cost = -final_state[\u001b[34m3\u001b[39;49;00m];\n",
"}\n",
"\n",
"\n",
"\u001b[34mtemplate\u001b[39;49;00m <\u001b[34mtypename\u001b[39;49;00m \u001b[04m\u001b[32mVariable\u001b[39;49;00m>\n",
"\u001b[36mvoid\u001b[39;49;00m OCP::dynamics(\u001b[36mdouble\u001b[39;49;00m time, \u001b[34mconst\u001b[39;49;00m Variable *state, \u001b[34mconst\u001b[39;49;00m Variable *control, \u001b[34mconst\u001b[39;49;00m Variable *parameters, \u001b[34mconst\u001b[39;49;00m \u001b[36mdouble\u001b[39;49;00m *constants, Variable *state_dynamics)\n",
"{\n",
" \n",
" Variable p = state[\u001b[34m0\u001b[39;49;00m];\n",
" Variable r = state[\u001b[34m1\u001b[39;49;00m];\n",
" Variable m = state[\u001b[34m2\u001b[39;49;00m];\n",
" Variable V = state[\u001b[34m3\u001b[39;49;00m];\n",
" Variable u = control[\u001b[34m0\u001b[39;49;00m];\n",
" \n",
" \n",
" \n",
" \u001b[36mdouble\u001b[39;49;00m Em = constants[\u001b[34m0\u001b[39;49;00m];\n",
" \u001b[36mdouble\u001b[39;49;00m K = constants[\u001b[34m1\u001b[39;49;00m];\n",
" \u001b[36mdouble\u001b[39;49;00m rmax = constants[\u001b[34m2\u001b[39;49;00m];\n",
" \u001b[36mdouble\u001b[39;49;00m rmin = constants[\u001b[34m3\u001b[39;49;00m];\n",
" \n",
" Variable vR = (r-rmin)*p/(K+p);\n",
" \n",
" state_dynamics[\u001b[34m0\u001b[39;49;00m] = Em*m - (p+\u001b[34m1\u001b[39;49;00m)*vR;\n",
" state_dynamics[\u001b[34m1\u001b[39;49;00m] = (u*rmax-r)*vR;\n",
" state_dynamics[\u001b[34m2\u001b[39;49;00m] = ((\u001b[34m1\u001b[39;49;00m-u)*rmax-m)*vR;\n",
" state_dynamics[\u001b[34m3\u001b[39;49;00m] = vR*V;\n",
" \n",
"}\n",
"\n",
"\u001b[34mtemplate\u001b[39;49;00m <\u001b[34mtypename\u001b[39;49;00m \u001b[04m\u001b[32mVariable\u001b[39;49;00m>\n",
"\u001b[36mvoid\u001b[39;49;00m OCP::boundaryConditions(\u001b[36mdouble\u001b[39;49;00m initial_time, \u001b[36mdouble\u001b[39;49;00m final_time, \u001b[34mconst\u001b[39;49;00m Variable *initial_state, \u001b[34mconst\u001b[39;49;00m Variable *final_state, \u001b[34mconst\u001b[39;49;00m Variable *parameters, \u001b[34mconst\u001b[39;49;00m \u001b[36mdouble\u001b[39;49;00m *constants, Variable *boundary_conditions)\n",
"{\n",
" boundary_conditions[\u001b[34m0\u001b[39;49;00m] = initial_state[\u001b[34m0\u001b[39;49;00m];\n",
" boundary_conditions[\u001b[34m1\u001b[39;49;00m] = initial_state[\u001b[34m1\u001b[39;49;00m];\n",
" boundary_conditions[\u001b[34m2\u001b[39;49;00m] = initial_state[\u001b[34m2\u001b[39;49;00m];\n",
" boundary_conditions[\u001b[34m3\u001b[39;49;00m] = initial_state[\u001b[34m3\u001b[39;49;00m];\n",
"}\n",
"\n",
"\u001b[34mtemplate\u001b[39;49;00m <\u001b[34mtypename\u001b[39;49;00m \u001b[04m\u001b[32mVariable\u001b[39;49;00m>\n",
"\u001b[36mvoid\u001b[39;49;00m OCP::pathConstraints(\u001b[36mdouble\u001b[39;49;00m time, \u001b[34mconst\u001b[39;49;00m Variable *state, \u001b[34mconst\u001b[39;49;00m Variable *control, \u001b[34mconst\u001b[39;49;00m Variable *parameters, \u001b[34mconst\u001b[39;49;00m \u001b[36mdouble\u001b[39;49;00m *constants, Variable *path_constraints)\n",
"{}\n",
"\n",
"\u001b[36mvoid\u001b[39;49;00m OCP::preProcessing()\n",
"{}\n",
"\n",
"\u001b[37m// ///////////////////////////////////////////////////////////////////\u001b[39;49;00m\n",
"\u001b[37m// explicit template instanciation for template functions, with double and double_ad \u001b[39;49;00m\n",
"\u001b[37m// +++ could be in an included separate file ? \u001b[39;49;00m\n",
"\u001b[37m// but needs to be done for aux functions too ? APPARENTLY NOT !\u001b[39;49;00m\n",
"\u001b[34mtemplate\u001b[39;49;00m \u001b[36mvoid\u001b[39;49;00m OCP::finalCost<\u001b[36mdouble\u001b[39;49;00m>(\u001b[36mdouble\u001b[39;49;00m initial_time, \u001b[36mdouble\u001b[39;49;00m final_time, \u001b[34mconst\u001b[39;49;00m \u001b[36mdouble\u001b[39;49;00m *initial_state, \u001b[34mconst\u001b[39;49;00m \u001b[36mdouble\u001b[39;49;00m *final_state, \u001b[34mconst\u001b[39;49;00m \u001b[36mdouble\u001b[39;49;00m *parameters, \u001b[34mconst\u001b[39;49;00m \u001b[36mdouble\u001b[39;49;00m *constants, \u001b[36mdouble\u001b[39;49;00m &final_cost);\n",
"\u001b[34mtemplate\u001b[39;49;00m \u001b[36mvoid\u001b[39;49;00m OCP::dynamics<\u001b[36mdouble\u001b[39;49;00m>(\u001b[36mdouble\u001b[39;49;00m time, \u001b[34mconst\u001b[39;49;00m \u001b[36mdouble\u001b[39;49;00m *state, \u001b[34mconst\u001b[39;49;00m \u001b[36mdouble\u001b[39;49;00m *control, \u001b[34mconst\u001b[39;49;00m \u001b[36mdouble\u001b[39;49;00m *parameters, \u001b[34mconst\u001b[39;49;00m \u001b[36mdouble\u001b[39;49;00m *constants, \u001b[36mdouble\u001b[39;49;00m *state_dynamics);\n",
"\u001b[34mtemplate\u001b[39;49;00m \u001b[36mvoid\u001b[39;49;00m OCP::boundaryConditions<\u001b[36mdouble\u001b[39;49;00m>(\u001b[36mdouble\u001b[39;49;00m initial_time, \u001b[36mdouble\u001b[39;49;00m final_time, \u001b[34mconst\u001b[39;49;00m \u001b[36mdouble\u001b[39;49;00m *initial_state, \u001b[34mconst\u001b[39;49;00m \u001b[36mdouble\u001b[39;49;00m *final_state, \u001b[34mconst\u001b[39;49;00m \u001b[36mdouble\u001b[39;49;00m *parameters, \u001b[34mconst\u001b[39;49;00m \u001b[36mdouble\u001b[39;49;00m *constants, \u001b[36mdouble\u001b[39;49;00m *boundary_conditions);\n",
"\u001b[34mtemplate\u001b[39;49;00m \u001b[36mvoid\u001b[39;49;00m OCP::pathConstraints<\u001b[36mdouble\u001b[39;49;00m>(\u001b[36mdouble\u001b[39;49;00m time, \u001b[34mconst\u001b[39;49;00m \u001b[36mdouble\u001b[39;49;00m *state, \u001b[34mconst\u001b[39;49;00m \u001b[36mdouble\u001b[39;49;00m *control, \u001b[34mconst\u001b[39;49;00m \u001b[36mdouble\u001b[39;49;00m *parameters, \u001b[34mconst\u001b[39;49;00m \u001b[36mdouble\u001b[39;49;00m *constants, \u001b[36mdouble\u001b[39;49;00m *path_constraints);\n",
"\n",
"\u001b[34mtemplate\u001b[39;49;00m \u001b[36mvoid\u001b[39;49;00m OCP::finalCost(\u001b[36mdouble\u001b[39;49;00m initial_time, \u001b[36mdouble\u001b[39;49;00m final_time, \u001b[34mconst\u001b[39;49;00m double_ad *initial_state, \u001b[34mconst\u001b[39;49;00m double_ad *final_state, \u001b[34mconst\u001b[39;49;00m double_ad *parameters, \u001b[34mconst\u001b[39;49;00m \u001b[36mdouble\u001b[39;49;00m *constants, double_ad &final_cost);\n",
"\u001b[34mtemplate\u001b[39;49;00m \u001b[36mvoid\u001b[39;49;00m OCP::dynamics(\u001b[36mdouble\u001b[39;49;00m time, \u001b[34mconst\u001b[39;49;00m double_ad *state, \u001b[34mconst\u001b[39;49;00m double_ad *control, \u001b[34mconst\u001b[39;49;00m double_ad *parameters, \u001b[34mconst\u001b[39;49;00m \u001b[36mdouble\u001b[39;49;00m *constants, double_ad *state_dynamics);\n",
"\u001b[34mtemplate\u001b[39;49;00m \u001b[36mvoid\u001b[39;49;00m OCP::boundaryConditions(\u001b[36mdouble\u001b[39;49;00m initial_time, \u001b[36mdouble\u001b[39;49;00m final_time, \u001b[34mconst\u001b[39;49;00m double_ad *initial_state, \u001b[34mconst\u001b[39;49;00m double_ad *final_state, \u001b[34mconst\u001b[39;49;00m double_ad *parameters, \u001b[34mconst\u001b[39;49;00m \u001b[36mdouble\u001b[39;49;00m *constants, double_ad *boundary_conditions);\n",
"\u001b[34mtemplate\u001b[39;49;00m \u001b[36mvoid\u001b[39;49;00m OCP::pathConstraints(\u001b[36mdouble\u001b[39;49;00m time, \u001b[34mconst\u001b[39;49;00m double_ad *state, \u001b[34mconst\u001b[39;49;00m double_ad *control, \u001b[34mconst\u001b[39;49;00m double_ad *parameters, \u001b[34mconst\u001b[39;49;00m \u001b[36mdouble\u001b[39;49;00m *constants, double_ad *path_constraints);\n"
]
}
],
"source": [
"import matplotlib.pyplot as plt\n",
"from matplotlib.animation import FuncAnimation\n",
"import matplotlib.animation as animation\n",
"from IPython.display import HTML\n",
"%matplotlib inline\n",
"\n",
"import numpy as np\n",
"import math\n",
"import os,shutil\n",
"!pygmentize ./problem.cpp"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[EXEC] > ['cmake -DCMAKE_BUILD_TYPE=Debug -DPROBLEM_DIR=/home/caillau/gallery/examples/bacteria -DCPP_FILE=problem.cpp -DCMAKE_CXX_COMPILER=g++ /home/caillau/.conda/envs/ct-gallery/lib/python3.7/site-packages/bocop']\n",
">\t-- The C compiler identification is GNU 7.5.0\n",
">\t-- The CXX compiler identification is GNU 9.3.0\n",
">\t-- Detecting C compiler ABI info\n",
">\t-- Detecting C compiler ABI info - done\n",
">\t-- Check for working C compiler: /home/caillau/.conda/envs/ct-gallery/bin/x86_64-conda-linux-gnu-cc - skipped\n",
">\t-- Detecting C compile features\n",
">\t-- Detecting C compile features - done\n",
">\t-- Detecting CXX compiler ABI info\n",
">\t-- Detecting CXX compiler ABI info - done\n",
">\t-- Check for working CXX compiler: /usr/bin/g++ - skipped\n",
">\t-- Detecting CXX compile features\n",
">\t-- Detecting CXX compile features - done\n",
">\t-- Problem path: /home/caillau/gallery/examples/bacteria\n",
">\t-- Using CPPAD found at /home/caillau/.conda/envs/ct-gallery/include/cppad/..\n",
">\t-- Using IPOPT found at /home/caillau/.conda/envs/ct-gallery/lib/libipopt.so\n",
">\t-- Found Python3: /home/caillau/.conda/envs/ct-gallery/bin/python3.7 (found version \"3.7.10\") found components: Interpreter Development Development.Module Development.Embed \n",
">\t-- Found SWIG: /home/caillau/.conda/envs/ct-gallery/bin/swig (found suitable version \"4.0.2\", minimum required is \"4\") \n",
">\t-- Build type: Debug\n",
">\t-- Configuring done\n",
">\t-- Generating done\n",
">\t-- Build files have been written to: /home/caillau/gallery/examples/bacteria/build\n",
"[DONE] > ['cmake -DCMAKE_BUILD_TYPE=Debug -DPROBLEM_DIR=/home/caillau/gallery/examples/bacteria -DCPP_FILE=problem.cpp -DCMAKE_CXX_COMPILER=g++ /home/caillau/.conda/envs/ct-gallery/lib/python3.7/site-packages/bocop']\n",
"[EXEC] > make\n",
">\tmake: Warning: File 'Makefile' has modification time 10 s in the future\n",
">\tmake[1]: Warning: File 'CMakeFiles/Makefile2' has modification time 10 s in the future\n",
">\tmake[2]: Warning: File 'src/CMakeFiles/bocop.dir/flags.make' has modification time 10 s in the future\n",
">\tmake[2]: warning: Clock skew detected. Your build may be incomplete.\n",
">\tmake[2]: Warning: File 'src/CMakeFiles/bocop.dir/flags.make' has modification time 10 s in the future\n",
">\t[ 3%] Building CXX object src/CMakeFiles/bocop.dir/AD/dOCPCppAD.cpp.o\n",
">\t[ 7%] Building CXX object src/CMakeFiles/bocop.dir/DOCP/dOCP.cpp.o\n",
">\t[ 10%] Building CXX object src/CMakeFiles/bocop.dir/DOCP/dODE.cpp.o\n",
">\t[ 14%] Building CXX object src/CMakeFiles/bocop.dir/DOCP/dControl.cpp.o\n",
">\t[ 17%] Building CXX object src/CMakeFiles/bocop.dir/DOCP/dState.cpp.o\n",
">\t[ 21%] Building CXX object src/CMakeFiles/bocop.dir/DOCP/solution.cpp.o\n",
">\t[ 25%] Building CXX object src/CMakeFiles/bocop.dir/NLP/NLPSolverIpopt.cpp.o\n",
">\t[ 28%] Building CXX object src/CMakeFiles/bocop.dir/OCP/OCP.cpp.o\n",
">\t[ 32%] Building CXX object src/CMakeFiles/bocop.dir/tools/tools.cpp.o\n",
">\t[ 35%] Building CXX object src/CMakeFiles/bocop.dir/tools/tools_interpolation.cpp.o\n",
">\t[ 39%] Building CXX object src/CMakeFiles/bocop.dir/home/caillau/gallery/examples/bacteria/problem.cpp.o\n",
">\t[ 42%] Linking CXX shared library /home/caillau/gallery/examples/bacteria/libbocop.so\n",
">\tmake[2]: warning: Clock skew detected. Your build may be incomplete.\n",
">\t[ 42%] Built target bocop\n",
">\tScanning dependencies of target bocopwrapper_swig_compilation\n",
">\t[ 46%] Swig compile /home/caillau/.conda/envs/ct-gallery/lib/python3.7/site-packages/bocop/src/bocopwrapper.i for python\n",
">\tLanguage subdirectory: python\n",
">\tSearch paths:\n",
">\t ./\n",
">\t /home/caillau/.conda/envs/ct-gallery/include/python3.7m/\n",
">\t AD/\n",
">\t DOCP/\n",
">\t NLP/\n",
">\t OCP/\n",
">\t tools/\n",
">\t /home/caillau/.conda/envs/ct-gallery/include/cppad/../\n",
">\t /home/caillau/.conda/envs/ct-gallery/include/coin/\n",
">\t /home/caillau/.conda/envs/ct-gallery/include/python3.7m/\n",
">\t /home/caillau/.conda/envs/ct-gallery/lib/python3.7/site-packages/bocop/src/AD/\n",
">\t /home/caillau/.conda/envs/ct-gallery/lib/python3.7/site-packages/bocop/src/DOCP/\n",
">\t /home/caillau/.conda/envs/ct-gallery/lib/python3.7/site-packages/bocop/src/NLP/\n",
">\t /home/caillau/.conda/envs/ct-gallery/lib/python3.7/site-packages/bocop/src/OCP/\n",
">\t /home/caillau/.conda/envs/ct-gallery/lib/python3.7/site-packages/bocop/src/tools/\n",
">\t ./swig_lib/python/\n",
">\t /home/caillau/.conda/envs/ct-gallery/share/swig/4.0.2/python/\n",
">\t ./swig_lib/\n",
">\t /home/caillau/.conda/envs/ct-gallery/share/swig/4.0.2/\n",
">\tPreprocessing...\n",
">\tStarting language-specific parse...\n",
">\tProcessing types...\n",
">\tC++ analysis...\n",
">\tProcessing nested classes...\n",
">\tGenerating wrappers...\n",
">\t[ 46%] Built target bocopwrapper_swig_compilation\n",
">\tmake[2]: Warning: File 'src/CMakeFiles/bocopwrapper.dir/bocopwrapperPYTHON_wrap.cxx' has modification time 10 s in the future\n",
">\t[ 50%] Building CXX object src/CMakeFiles/bocopwrapper.dir/CMakeFiles/bocopwrapper.dir/bocopwrapperPYTHON_wrap.cxx.o\n",
">\t[ 53%] Linking CXX shared module /home/caillau/gallery/examples/bacteria/_bocopwrapper.so\n",
">\t-- Moving python modules to /home/caillau/gallery/examples/bacteria\n",
">\tmake[2]: warning: Clock skew detected. Your build may be incomplete.\n",
">\t[ 53%] Built target bocopwrapper\n",
">\t[ 57%] Building CXX object src/CMakeFiles/bocopApp.dir/AD/dOCPCppAD.cpp.o\n",
">\t[ 60%] Building CXX object src/CMakeFiles/bocopApp.dir/DOCP/dOCP.cpp.o\n",
">\t[ 64%] Building CXX object src/CMakeFiles/bocopApp.dir/DOCP/dODE.cpp.o\n",
">\t[ 67%] Building CXX object src/CMakeFiles/bocopApp.dir/DOCP/dControl.cpp.o\n",
">\t[ 71%] Building CXX object src/CMakeFiles/bocopApp.dir/DOCP/dState.cpp.o\n",
">\t[ 75%] Building CXX object src/CMakeFiles/bocopApp.dir/DOCP/solution.cpp.o\n",
">\t[ 78%] Building CXX object src/CMakeFiles/bocopApp.dir/NLP/NLPSolverIpopt.cpp.o\n",
">\t[ 82%] Building CXX object src/CMakeFiles/bocopApp.dir/OCP/OCP.cpp.o\n",
">\t[ 85%] Building CXX object src/CMakeFiles/bocopApp.dir/tools/tools.cpp.o\n",
">\t[ 89%] Building CXX object src/CMakeFiles/bocopApp.dir/tools/tools_interpolation.cpp.o\n",
">\t[ 92%] Building CXX object src/CMakeFiles/bocopApp.dir/home/caillau/gallery/examples/bacteria/problem.cpp.o\n",
">\t[ 96%] Building CXX object src/CMakeFiles/bocopApp.dir/main.cpp.o\n",
">\t[100%] Linking CXX executable /home/caillau/gallery/examples/bacteria/bocopApp\n",
">\t[100%] Built target bocopApp\n",
">\tmake[1]: warning: Clock skew detected. Your build may be incomplete.\n",
">\tmake: warning: Clock skew detected. Your build may be incomplete.\n",
"[DONE] > make\n",
"Done\n"
]
},
{
"data": {
"text/plain": [
"0"
]
},
"execution_count": 2,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"import bocop\n",
"problem1_path = \".\" # using local problem definition\n",
"bocop.build(problem1_path, cmake_options = '-DCMAKE_CXX_COMPILER=g++')"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Executing bocop ... \n",
"Done\n",
"Executing bocop ... \n",
"Done\n",
"Executing bocop ... \n",
"Done\n",
"Executing bocop ... \n",
"Done\n"
]
}
],
"source": [
"path_def = './def'\n",
"fileList = os.listdir(path_def)\n",
"for file in os.listdir(path_def):\n",
" if file.endswith('.def'):\n",
" shutil.copyfile(os.path.join(path_def,file), os.path.join(problem1_path,'problem.def'))\n",
" sol_name = file.replace('.def','.sol')\n",
" bocop.run(problem1_path, graph=0)\n",
" os.rename(\"problem.sol\",sol_name)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Optimal resource allocation"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Loading solution: ./problem1.sol\n"
]
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"