Skip to content

Commit

Permalink
Update NB to resolve conflicts
Browse files Browse the repository at this point in the history
  • Loading branch information
anirban-chaudhuri committed Jul 10, 2023
1 parent 27af0a8 commit 238b49d
Showing 1 changed file with 2 additions and 161 deletions.
163 changes: 2 additions & 161 deletions notebook/integration_demo/demo.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -9,11 +9,8 @@
"import os\n",
"from pyciemss.PetriNetODE.interfaces import (\n",
" load_and_sample_petri_model,\n",
" load_and_calibrate_and_sample_petri_model,\n",
" load_and_optimize_and_sample_petri_model,\n",
" load_and_calibrate_and_optimize_and_sample_petri_model\n",
")\n",
"import numpy as np"
" load_and_calibrate_and_sample_petri_model\n",
")"
]
},
{
Expand Down Expand Up @@ -151,162 +148,6 @@
" os.path.join(DEMO_PATH, \"results_petri/calibrated_sample_results.csv\"), index=False\n",
")"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## load_and_optimize_and_sample_petri_model"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Time taken: (2.19e-01 seconds per model evaluation).\n",
"Performing risk-based optimization under uncertainty (using alpha-superquantile)\n",
"Estimated wait time 1643.2 seconds...\n",
"Optimization completed in time 302.05 seconds.\n",
"Optimal policy:\t0.0\n",
"Post-processing optimal policy...\n",
"Estimated risk at optimal policy [0.7047186017036438]\n",
"Optimal policy: 0.0\n",
"Estimated risk at optimal policy [0.7047186017036438]\n"
]
}
],
"source": [
"num_samples = 100\n",
"timepoints = [0.0, 1.0, 2.0, 3.0, 4.0]\n",
"\n",
"# Run the calibration and sampling\n",
"OBJFUN = lambda x: np.abs(x)\n",
"INTERVENTION = [(0.1, \"beta\")]\n",
"QOI = (\"scenario2dec_nday_average\", \"Infected_sol\", 2)\n",
"ouu_samples, opt_policy = load_and_optimize_and_sample_petri_model(\n",
" ASKENET_PATH,\n",
" num_samples,\n",
" timepoints=timepoints,\n",
" interventions=INTERVENTION,\n",
" qoi=QOI,\n",
" risk_bound=10.,\n",
" objfun=OBJFUN,\n",
" initial_guess=0.02,\n",
" bounds=[[0.],[3.]],\n",
" verbose=True,\n",
")\n",
"\n",
"# Save results\n",
"ouu_samples.to_csv(\n",
" os.path.join(DEMO_PATH, \"results_petri/optimize_sample_results.csv\"), index=False\n",
")\n",
"print(\"Optimal policy:\", opt_policy[\"policy\"])\n",
"print(\"Estimated risk at optimal policy\", opt_policy[\"risk\"])"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## load_and_calibrate_and_optimize_and_sample_petri_model"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"iteration 0: loss = 37.5659122467041\n",
"iteration 25: loss = 35.41392183303833\n",
"iteration 50: loss = 33.67425513267517\n",
"iteration 75: loss = 32.595038652420044\n",
"iteration 100: loss = 33.10420513153076\n",
"iteration 125: loss = 32.42216110229492\n",
"iteration 150: loss = 33.292160987854004\n",
"iteration 175: loss = 31.957093477249146\n",
"iteration 200: loss = 32.40791869163513\n",
"iteration 225: loss = 32.1630494594574\n",
"iteration 250: loss = 32.64620661735535\n",
"iteration 275: loss = 32.447582960128784\n",
"iteration 300: loss = 32.42112612724304\n",
"iteration 325: loss = 32.70798373222351\n",
"iteration 350: loss = 32.1295063495636\n",
"iteration 375: loss = 32.78153920173645\n",
"iteration 400: loss = 32.15399241447449\n",
"iteration 425: loss = 32.18069672584534\n",
"iteration 450: loss = 32.34887766838074\n",
"iteration 475: loss = 32.39561104774475\n",
"iteration 500: loss = 32.51458191871643\n",
"iteration 525: loss = 32.285157680511475\n",
"iteration 550: loss = 32.21916651725769\n",
"iteration 575: loss = 32.54395031929016\n",
"iteration 600: loss = 32.487563133239746\n",
"iteration 625: loss = 32.54312562942505\n",
"iteration 650: loss = 31.965022087097168\n",
"iteration 675: loss = 32.316070318222046\n",
"iteration 700: loss = 32.36382842063904\n",
"iteration 725: loss = 32.52105975151062\n",
"iteration 750: loss = 32.83406376838684\n",
"iteration 775: loss = 32.393730878829956\n",
"iteration 800: loss = 32.43019080162048\n",
"iteration 825: loss = 32.3959174156189\n",
"iteration 850: loss = 32.112430572509766\n",
"iteration 875: loss = 32.36790990829468\n",
"iteration 900: loss = 32.66983437538147\n",
"iteration 925: loss = 32.438520669937134\n",
"iteration 950: loss = 32.27924203872681\n",
"iteration 975: loss = 32.38777709007263\n",
"Time taken: (1.62e-01 seconds per model evaluation).\n",
"Performing risk-based optimization under uncertainty (using alpha-superquantile)\n",
"Estimated wait time 1214.8 seconds...\n",
"Optimization completed in time 325.88 seconds.\n",
"Optimal policy:\t0.0\n",
"Post-processing optimal policy...\n",
"Estimated risk at optimal policy [0.7005741119384765]\n",
"Optimal policy after calibration: 0.0\n",
"Estimated risk at optimal policy after calibration [0.7005741119384765]\n"
]
}
],
"source": [
"data_path = os.path.join(DEMO_PATH, \"data.csv\")\n",
"num_samples = 100\n",
"timepoints = [0.0, 1.0, 2.0, 3.0, 4.0]\n",
"\n",
"# Run the calibration and sampling\n",
"OBJFUN = lambda x: np.abs(x)\n",
"INTERVENTION = [(0.1, \"beta\")]\n",
"QOI = (\"scenario2dec_nday_average\", \"Infected_sol\", 2)\n",
"ouu_cal_samples, opt_cal_policy = load_and_calibrate_and_optimize_and_sample_petri_model(\n",
" ASKENET_PATH,\n",
" data_path,\n",
" num_samples,\n",
" timepoints=timepoints,\n",
" interventions=INTERVENTION,\n",
" qoi=QOI,\n",
" risk_bound=10.,\n",
" objfun=OBJFUN,\n",
" initial_guess=0.02,\n",
" bounds=[[0.],[3.]],\n",
" verbose=True,\n",
")\n",
"\n",
"# Save results\n",
"ouu_cal_samples.to_csv(\n",
" os.path.join(DEMO_PATH, \"results_petri/calibrate_optimize_sample_results.csv\"), index=False\n",
")\n",
"print(\"Optimal policy after calibration:\", opt_policy[\"policy\"])\n",
"print(\"Estimated risk at optimal policy after calibration\", opt_policy[\"risk\"])"
]
}
],
"metadata": {
Expand Down

0 comments on commit 238b49d

Please sign in to comment.