{"id":3477,"date":"2026-02-13T11:12:59","date_gmt":"2026-02-13T10:12:59","guid":{"rendered":"https:\/\/neuraldesigner.com\/learning\/combined-cycle-power-plant\/"},"modified":"2026-08-25T14:03:24","modified_gmt":"2026-08-25T12:03:24","slug":"combined-cycle-power-plant","status":"publish","type":"learning","link":"https:\/\/www.neuraldesigner.com\/learning\/examples\/combined-cycle-power-plant\/","title":{"rendered":"Improve the performance of a power plant using machine learning"},"content":{"rendered":"\n<style>\n.ndb{width:100vw;margin-left:calc(50% - 50vw);padding:22px 24px 14px;background:#eee;color:#1b2635;font-family:\"Outfit\",\"Roboto\",Arial,sans-serif}.ndb *{box-sizing:border-box}.ndb-wrap{width:min(100%,1200px);margin:0 auto}.ndb a{text-decoration:none;color:#2d799f;font-weight:600}\n.ndb-executive{margin:0 0 34px;padding:32px;border-radius:20px;background:linear-gradient(135deg,#12354b,#245e80);color:#fff;box-shadow:0 16px 36px rgba(0,18,51,.18)}.ndb-executive h2{margin:0 0 12px;padding:0;border:0;color:#fff;font-size:30px;line-height:1.2}.ndb-executive p{margin:0;color:#eaf5fb;font-size:18px;line-height:1.55}.ndb-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:22px}.ndb-kpi{padding:18px;border:1px solid rgba(255,255,255,.18);border-radius:14px;background:rgba(255,255,255,.1)}.ndb-kpi strong{display:block;color:#fff;font-size:25px;line-height:1.1}.ndb-kpi span{display:block;margin-top:6px;color:#d9edf7;font-size:13px}\n.ndb-actions,.ndb-audience,.ndb-downloads{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin:22px 0}.ndb-actions a,.ndb-downloads a{display:inline-flex;align-items:center;justify-content:center;padding:12px 20px;border-radius:24px;background:#245e80;color:#fff!important;font-weight:700}.ndb-executive .ndb-actions a{background:#fff;color:#12354b!important}.ndb-executive .ndb-actions a:last-child{background:transparent;color:#fff!important;border:1px solid rgba(255,255,255,.55)}\n.ndb-lead{margin:0 0 28px;color:#3a4a5a;font-size:18px;line-height:1.6}.ndb-toc{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:0 0 42px;padding:0;list-style:none}.ndb-toc a,.ndb-audience span{display:block;padding:9px 14px;border-radius:20px;background:#e9f2f8;color:#12354b;font-size:14px;font-weight:600}\n.ndb-card{margin:0 0 54px;scroll-margin-top:90px}.ndb-card h2{position:relative;margin:0 0 20px;padding-bottom:12px;border-bottom:1px solid #dbe5ec;color:#001233;font-size:24px}.ndb-card h2:after{content:\"\";position:absolute;bottom:-1px;left:0;width:62px;height:3px;border-radius:2px;background:#56a1c8}.ndb-card h3{margin:28px 0 12px;color:#12354b;font-size:20px}.ndb-card p{margin:0 0 14px;color:#33424f;font-size:16.5px;line-height:1.62}.ndb-card li{margin:5px 0;color:#33424f;font-size:16px;line-height:1.5}.ndb-card code{padding:2px 5px;border-radius:4px;background:#e8eef2;color:#12354b}\n.ndb-value-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:22px 0}.ndb-value{padding:20px;border:1px solid #dce8ef;border-radius:14px;background:#f8fbfd}.ndb-value strong{display:block;margin-bottom:6px;color:#12354b;font-size:17px}.ndb-value span{color:#4a5d6b;line-height:1.45}\n.ndb-note{margin:20px 0;padding:18px 20px;border-left:4px solid #56a1c8;border-radius:0 12px 12px 0;background:#f6fafc;color:#33424f;line-height:1.55}.ndb-note--warning{border-left-color:#e39b36;background:#fff9ef}\n.ndb-card img{display:block;width:auto;max-width:min(680px,100%);height:auto;margin:24px auto;border-radius:12px;box-shadow:0 12px 28px rgba(0,18,51,.12)}.ndb-card img.ndb-architecture{width:min(820px,100%);max-width:100%}.ndb-figure-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:24px 0}.ndb-figure-grid figure{margin:0;padding:16px;border:1px solid #dce8ef;border-radius:15px;background:#f8fbfd}.ndb-figure-grid img{width:100%;max-width:100%;margin:0 auto 12px;box-shadow:none}.ndb-figure-grid figcaption{color:#405361;font-size:14px;line-height:1.45}\n.ndb-card table{width:auto;max-width:100%;margin:24px auto;border-collapse:separate;border-spacing:0;overflow:hidden;border-radius:12px;background:#fff;box-shadow:0 10px 24px rgba(0,18,51,.08)}.ndb-card th,.ndb-card td{padding:11px 16px;border-bottom:1px solid #e2e9ee;text-align:left}.ndb-card thead th{background:#12354b!important;color:#fff!important}.ndb-card tbody th{background:#eaf2f6!important;color:#12354b!important;text-align:left}.ndb-card tbody tr:nth-child(even) th{background:#f4f8fa!important}.ndb-card tbody td{color:#33424f!important}.ndb-card td{color:#33424f}.ndb-card tbody tr:last-child td{border-bottom:0}\n.ndb-flow{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:24px 0}.ndb-flow div{position:relative;padding:18px 16px;border-radius:13px;background:#12354b;color:#fff;text-align:center;font-weight:600}.ndb-flow div:not(:last-child):after{content:\"\u2192\";position:absolute;right:-17px;top:50%;z-index:2;transform:translateY(-50%);color:#56a1c8;font-size:22px}\n.ndb-calculator{margin:26px 0;padding:26px;border:1px solid #cfe0ea;border-radius:18px;background:#f8fbfd;box-shadow:0 12px 28px rgba(0,18,51,.08)}.ndb-calculator h3{margin-top:0}.ndb-calculator-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.ndb-field label{display:block;margin-bottom:6px;color:#33424f;font-size:13px;font-weight:700}.ndb-field input{width:100%;padding:10px 11px;border:1px solid #bdcfda;border-radius:8px;background:#fff;color:#1b2635;font:inherit}.ndb-field small{display:block;margin-top:4px;color:#71818d;font-size:11px}.ndb-calc-actions{display:flex;justify-content:center;gap:10px;margin:18px 0}.ndb-calc-actions button{padding:11px 18px;border:0;border-radius:22px;background:#245e80;color:#fff;font:inherit;font-weight:700;cursor:pointer}.ndb-calc-actions button[type=button]{background:#e4edf2;color:#12354b}.ndb-output{max-width:360px;margin:0 auto;padding:20px;border:1px solid #d8e4eb;border-radius:12px;background:#fff;text-align:center}.ndb-output span{display:block;color:#5e707d;font-size:13px}.ndb-output strong{display:block;margin-top:5px;color:#12354b;font-size:28px}.ndb-calc-status{text-align:center;color:#60727f!important;font-size:13px!important}\n.ndb-card details{margin:22px 0;padding:16px 18px;border:1px solid #dce8ef;border-radius:12px;background:#f8fbfd}.ndb-card summary{cursor:pointer;color:#12354b;font-weight:700}.ndb-card pre{overflow-x:auto;margin:15px 0 0;padding:18px;border-radius:10px;background:#edf2f5;color:#1b2635;font:12px\/1.5 Consolas,monospace;white-space:pre}\n@media(max-width:900px){.ndb-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.ndb-value-grid{grid-template-columns:1fr}.ndb-flow{grid-template-columns:1fr 1fr}.ndb-flow div:after{display:none}}\n@media(max-width:680px){.ndb{padding:12px 14px}.ndb-executive{padding:24px 20px}.ndb-executive h2{font-size:24px}.ndb-kpis,.ndb-figure-grid,.ndb-calculator-grid,.ndb-flow{grid-template-columns:1fr}.ndb-calculator{padding:20px 16px}.ndb-card table{font-size:13px}.ndb-card th,.ndb-card td{padding:9px 8px}}\n<\/style>\n\n<style>\n.ndb-video{display:flex;justify-content:center;margin:26px 0}.ndb-video iframe{width:min(760px,100%);aspect-ratio:16\/9;height:auto;border:0;border-radius:14px;box-shadow:0 12px 28px rgba(0,18,51,.12)}\n.ndb-architecture--wide{width:min(980px,100%)!important}\n<\/style>\n\n<div class=\"ndb\"><div class=\"ndb-wrap\">\n<section class=\"ndb-executive\">\n<h2>Estimate full-load power output under changing ambient conditions<\/h2>\n<p>This neural-network surrogate predicts hourly net electrical power from ambient temperature, exhaust vacuum, atmospheric pressure and relative humidity. It can provide a fast expected-output baseline for performance monitoring, planning and engineering analysis.<\/p>\n<div class=\"ndb-kpis\"><div class=\"ndb-kpi\"><strong>9,568<\/strong><span>full-load hourly observations<\/span><\/div><div class=\"ndb-kpi\"><strong>4<\/strong><span>plant and ambient inputs<\/span><\/div><div class=\"ndb-kpi\"><strong>0.938<\/strong><span>testing determination<\/span><\/div><div class=\"ndb-kpi\"><strong>4.421 MW<\/strong><span>testing RMSE<\/span><\/div><\/div>\n<div class=\"ndb-actions\"><a href=\"#7-model-deployment\">Try the model<\/a><a href=\"https:\/\/www.neuraldesigner.com\/wp-content\/uploads\/2023\/10\/combinedcyclepowerplant.csv\">Download the data<\/a><\/div>\n<\/section>\n<div class=\"ndb-lead\"><p>Ambient conditions influence gas-turbine air mass flow, condenser performance and the net power available from a combined-cycle plant. A data-driven baseline can estimate the output expected at full load and help engineering teams distinguish normal weather-related variation from performance deviations that deserve investigation.<\/p><\/div>\n<ul class=\"ndb-toc\"><li><a href=\"#1-industrial-challenge\">Industrial challenge<\/a><\/li><li><a href=\"#2-data-set\">Data set<\/a><\/li><li><a href=\"#3-model\">Model<\/a><\/li><li><a href=\"#4-training\">Training<\/a><\/li><li><a href=\"#5-selection\">Model selection<\/a><\/li><li><a href=\"#6-testing\">Testing<\/a><\/li><li><a href=\"#7-model-deployment\">Deployment<\/a><\/li><li><a href=\"#8-limitations\">Limitations<\/a><\/li><li><a href=\"#references\">References<\/a><\/li><\/ul>\n\n<section id=\"1-industrial-challenge\" class=\"ndb-card\"><h2>1. Industrial challenge<\/h2>\n<p>This is an <a href=\"https:\/\/www.neuraldesigner.com\/learning\/tutorials\/neural-networks-applications\/#Approximation\">approximation<\/a> problem. The model maps hourly average plant and ambient conditions to <code>energy_output<\/code>, which represents net electrical <strong>power<\/strong> in MW despite the legacy code name.<\/p>\n<div class=\"ndb-value-grid\"><div class=\"ndb-value\"><strong>Expected-output baseline<\/strong><span>Estimate the power normally available at full load for the observed environmental conditions.<\/span><\/div><div class=\"ndb-value\"><strong>Performance monitoring<\/strong><span>Compare expected and measured output to prioritize investigation of persistent deviations.<\/span><\/div><div class=\"ndb-value\"><strong>Operational planning<\/strong><span>Support capacity estimates and engineering studies across the represented ambient envelope.<\/span><\/div><\/div>\n<p>Potential users include plant managers, performance engineers, operations teams, maintenance and reliability engineers, asset managers, energy planners and industrial data teams.<\/p>\n<div class=\"ndb-audience\"><span>Plant operations<\/span><span>Performance engineering<\/span><span>Reliability &amp; maintenance<\/span><span>Asset management<\/span><span>Energy planning<\/span><span>Digital transformation<\/span><\/div>\n<div class=\"ndb-note\"><strong>Model role.<\/strong> This is a full-load expected-power surrogate. It does not model part-load dispatch, heat rate, fuel consumption, emissions, degradation mechanisms or dynamic transients.<\/div><\/section>\n\n<section id=\"2-data-set\" class=\"ndb-card\"><h2>2. Data set<\/h2>\n<p>The <a href=\"https:\/\/archive.ics.uci.edu\/dataset\/294\/combined%2Bcycle%2Bpower%2Bplant\">Combined Cycle Power Plant dataset<\/a> contains 9,568 hourly averages collected over six years (2006\u20132011) while the plant operated at full load. Sensor measurements were averaged from higher-frequency readings. The local CSV has no missing values.<\/p>\n<div class=\"ndb-downloads\"><a href=\"https:\/\/www.neuraldesigner.com\/wp-content\/uploads\/2023\/10\/combinedcyclepowerplant.csv\">Download dataset (CSV)<\/a><\/div>\n<table><thead><tr><th>Variable<\/th><th>Engineering meaning<\/th><th>Role<\/th><th>Range<\/th><\/tr><\/thead><tbody>\n<tr><td><code>temperature<\/code><\/td><td>Ambient temperature (\u00b0C)<\/td><td>Input<\/td><td>1.81 to 37.11<\/td><\/tr>\n<tr><td><code>exhaust_vacuum<\/code><\/td><td>Steam-turbine exhaust vacuum (cm Hg)<\/td><td>Input<\/td><td>25.36 to 81.56<\/td><\/tr>\n<tr><td><code>ambient_pressure<\/code><\/td><td>Ambient pressure (mbar)<\/td><td>Input<\/td><td>992.89 to 1,033.30<\/td><\/tr>\n<tr><td><code>relative_humidity<\/code><\/td><td>Relative humidity (%)<\/td><td>Input<\/td><td>25.56 to 100.16<\/td><\/tr>\n<tr><td><code>energy_output<\/code><\/td><td>Net hourly electrical power output (MW)<\/td><td>Target<\/td><td>420.26 to 495.76<\/td><\/tr><\/tbody><\/table>\n<p>The project assigns 5,742 rows to training, 1,913 to selection and 1,913 to testing.<\/p>\n<div class=\"ndb-figure-grid\"><figure><img decoding=\"async\" src=\"https:\/\/www.neuraldesigner.com\/wp-content\/uploads\/2026\/07\/combined-cycle-power-plant-output-distribution-2026.png\" alt=\"Distribution of net electrical power output\"><figcaption><strong>Output distribution.<\/strong> The target covers the full-load power range represented over the six-year campaign.<\/figcaption><\/figure><figure><img decoding=\"async\" src=\"https:\/\/www.neuraldesigner.com\/wp-content\/uploads\/2026\/07\/combined-cycle-power-plant-correlations-2026.png\" alt=\"Correlations between combined-cycle plant inputs and net power\"><figcaption><strong>Input\u2013target relationships.<\/strong> Temperature and exhaust vacuum have the strongest individual associations with net power.<\/figcaption><\/figure><\/div>\n<img decoding=\"async\" src=\"https:\/\/www.neuraldesigner.com\/wp-content\/uploads\/2026\/07\/combined-cycle-power-plant-vacuum-scatter-2026.png\" alt=\"Net electrical power output versus exhaust vacuum\">\n<div class=\"ndb-note ndb-note--warning\"><strong>Validation note.<\/strong> The current project uses a random row split. The CSV contains 41 repeated rows, and 24 repeated-value groups cross data subsets; 16 testing rows have an exact counterpart in training or selection. A production study should deduplicate records and reserve future months or years for testing. The released table does not include timestamps, so that stronger temporal validation cannot be reconstructed here.<\/div><\/section>\n\n<section id=\"3-model\" class=\"ndb-card\"><h2>3. Model<\/h2>\n<p>The exported model standardizes the four inputs, processes them with three tanh neurons and returns one linear output that is unscaled to MW. The compact 4\u20133\u20131 architecture contains 19 trainable parameters and applies no output bounding.<\/p>\n<img decoding=\"async\" class=\"ndb-architecture ndb-architecture--wide\" src=\"https:\/\/www.neuraldesigner.com\/wp-content\/uploads\/2026\/07\/combined-cycle-power-plant-network-2026.png\" alt=\"Combined-cycle power plant neural network with four inputs, three hidden neurons and one power output\"><\/section>\n\n<section id=\"4-training\" class=\"ndb-card\"><h2>4. Training strategy<\/h2>\n<p>The network minimizes normalized squared error with L2 regularization (weight 0.01) and the quasi-Newton method. Training stopped after 50 epochs because the loss improvement fell below the configured threshold. The final recorded training and selection errors are <strong>0.033 NSE<\/strong> and <strong>0.011 NSE<\/strong>.<\/p>\n<img decoding=\"async\" src=\"https:\/\/www.neuraldesigner.com\/wp-content\/uploads\/2026\/07\/combined-cycle-power-plant-training-history-2026.png\" alt=\"Quasi-Newton training and selection error history for the power plant model\"><\/section>\n\n<section id=\"5-selection\" class=\"ndb-card\"><h2>5. Model selection<\/h2>\n<p>The updated project deploys the compact three-neuron hidden layer and does not contain a saved neuron-selection run. Its training, testing graphic, Python export and browser implementation all describe the same 4\u20133\u20131 model.<\/p>\n<p>For a production model, complexity should be selected against a chronological holdout and compared with a simple temperature-based baseline and established plant correction curves. A more complex network is useful only if it improves future-period error consistently.<\/p><\/section>\n\n<section id=\"6-testing\" class=\"ndb-card\"><h2>6. Testing analysis<\/h2>\n<p>The exported Python model was independently evaluated on the 1,913 rows marked as testing. Neural Designer reports a determination of <strong>0.9377<\/strong>; physical-unit errors show the typical and worst-case discrepancies relevant to plant decisions.<\/p>\n<table><thead><tr><th>Testing observations<\/th><th>Determination<\/th><th>Residual R\u00b2<\/th><th>MAE<\/th><th>RMSE<\/th><th>95th-percentile absolute error<\/th><th>Maximum absolute error<\/th><\/tr><\/thead><tbody><tr><td>1,913<\/td><td>0.9377<\/td><td>0.9365<\/td><td>3.487 MW<\/td><td>4.421 MW<\/td><td>8.469 MW<\/td><td>37.595 MW<\/td><\/tr><\/tbody><\/table>\n<p>The model captures most of the full-load variation, but the maximum error is material. Operational use should therefore monitor residuals over time and investigate error by season, operating campaign and maintenance state.<\/p>\n<img decoding=\"async\" src=\"https:\/\/www.neuraldesigner.com\/wp-content\/uploads\/2026\/07\/combined-cycle-power-plant-goodness-of-fit-2026.png\" alt=\"Predicted versus measured combined-cycle plant net electrical power on the testing set\"><\/section>\n\n<section id=\"7-model-deployment\" class=\"ndb-card\"><h2>7. Model deployment<\/h2>\n<p>A useful deployment compares the model&#8217;s expected full-load output with measured output from the historian. Sustained residuals can then trigger engineering review, while short-term dispatch and protection remain in the plant&#8217;s certified systems.<\/p>\n<div class=\"ndb-flow\"><div>Historian and ambient sensors<\/div><div>Quality and range checks<\/div><div>Expected-power surrogate<\/div><div>Residual trend and engineering review<\/div><\/div>\n\n<div class=\"ndb-calculator\" id=\"ccpp-calculator\">\n<h3>Try the full-load power surrogate<\/h3>\n<p>Enter hourly average conditions within the dataset ranges. The browser evaluates the exact weights and preprocessing of the exported Python model.<\/p>\n<form id=\"ccpp-calculator-form\"><div class=\"ndb-calculator-grid\">\n<div class=\"ndb-field\"><label for=\"cc-t\">Ambient temperature (\u00b0C)<\/label><input id=\"cc-t\" type=\"number\" min=\"1.81\" max=\"37.11\" step=\"any\" value=\"19.46\"><small>1.81 to 37.11<\/small><\/div>\n<div class=\"ndb-field\"><label for=\"cc-v\">Exhaust vacuum (cm Hg)<\/label><input id=\"cc-v\" type=\"number\" min=\"25.36\" max=\"81.56\" step=\"any\" value=\"47.03\"><small>25.36 to 81.56<\/small><\/div>\n<div class=\"ndb-field\"><label for=\"cc-p\">Ambient pressure (mbar)<\/label><input id=\"cc-p\" type=\"number\" min=\"992.89\" max=\"1033.30\" step=\"any\" value=\"1013.9\"><small>992.89 to 1,033.30<\/small><\/div>\n<div class=\"ndb-field\"><label for=\"cc-rh\">Relative humidity (%)<\/label><input id=\"cc-rh\" type=\"number\" min=\"25.56\" max=\"100.16\" step=\"any\" value=\"88.86\"><small>25.56 to 100.16<\/small><\/div>\n<\/div><div class=\"ndb-calc-actions\"><button type=\"submit\">Calculate net power<\/button><button type=\"button\" id=\"ccpp-reset\">Reset example<\/button><\/div><\/form>\n<div class=\"ndb-output\" aria-live=\"polite\"><span>Predicted net electrical power<\/span><strong id=\"cc-output\">\u2014<\/strong><\/div>\n<p class=\"ndb-calc-status\" id=\"ccpp-status\">Demonstration surrogate \u2014 not a certified control, dispatch or plant-protection system.<\/p>\n<\/div>\n<script>\n(function(){\nconst form=document.getElementById(\"ccpp-calculator-form\");if(!form)return;\nconst ids=[\"cc-t\",\"cc-v\",\"cc-p\",\"cc-rh\"],defaults=[19.46,47.03,1013.9,88.86];\nfunction calculate(){\nconst fields=ids.map(id=>document.getElementById(id)),x=fields.map(f=>Number(f.value));\nif(x.some(v=>!Number.isFinite(v))){document.getElementById(\"ccpp-status\").textContent=\"Enter a valid number in every field.\";return}\nlet outside=false;fields.forEach((f,i)=>{const bad=x[i]<Number(f.min)||x[i]>Number(f.max);f.setAttribute(\"aria-invalid\",bad?\"true\":\"false\");outside=outside||bad});\nconst temperature=x[0],exhaust_vacuum=x[1],ambient_pressure=x[2],relative_humidity=x[3];\nconst scaled_temperature = (temperature-19.63850021)\/7.389589787;\nconst scaled_exhaust_vacuum = (exhaust_vacuum-54.19950104)\/12.65859985;\nconst scaled_ambient_pressure = (ambient_pressure-1013.25)\/5.961969852;\nconst scaled_relative_humidity = (relative_humidity-73.23069763)\/14.64610004;\nconst dense_layer_1_output_0 = Math.tanh( 0.08796545118 + (0.3833022118*scaled_temperature) + (0.09746983647*scaled_exhaust_vacuum) + (-0.04856275767*scaled_ambient_pressure) + (0.09177150577*scaled_relative_humidity) );\nconst dense_layer_1_output_1 = Math.tanh( -0.01077759545 + (0.3612870872*scaled_temperature) + (0.2234350592*scaled_exhaust_vacuum) + (-0.1729453802*scaled_ambient_pressure) + (0.1152570024*scaled_relative_humidity) );\nconst dense_layer_1_output_2 = Math.tanh( 0.3625041246 + (0.6319536567*scaled_temperature) + (0.03519843519*scaled_exhaust_vacuum) + (0.1035087183*scaled_ambient_pressure) + (-0.005491012707*scaled_relative_humidity) );\nconst approximation_layer_output_0 = ( 0.270288974 + (-0.5146687627*dense_layer_1_output_0) + (-0.6752036214*dense_layer_1_output_1) + (-0.8629379869*dense_layer_1_output_2) );\nconst unscaling_layer_output_0=approximation_layer_output_0*16.92917633+454.3779602;\ndocument.getElementById(\"cc-output\").textContent=unscaling_layer_output_0.toFixed(2)+\" MW\";\ndocument.getElementById(\"ccpp-status\").textContent=outside?\"Warning: one or more inputs are outside the training range; this prediction should not be trusted.\":\"All inputs are inside the individual ranges represented in the dataset.\";\n}\nform.addEventListener(\"submit\",e=>{e.preventDefault();calculate()});\ndocument.getElementById(\"ccpp-reset\").addEventListener(\"click\",()=>{ids.forEach((id,i)=>document.getElementById(id).value=defaults[i]);calculate()});\ncalculate();\n})();\n<\/script>\n\n<h3>Representative hot-ambient scenario<\/h3>\n<p>This scenario evaluates a full-load operating point under relatively warm ambient conditions. The four values are passed to the same deployed model used by the browser calculator.<\/p>\n<table><thead><tr><th>Input or output<\/th><th>Value<\/th><\/tr><\/thead><tbody>\n<tr><td>Ambient temperature<\/td><td>29.00 \u00b0C<\/td><\/tr>\n<tr><td>Exhaust vacuum<\/td><td>66.25 cm Hg<\/td><\/tr>\n<tr><td>Ambient pressure<\/td><td>1,008.00 mbar<\/td><\/tr>\n<tr><td>Relative humidity<\/td><td>76.00%<\/td><\/tr>\n<tr><td><strong>Predicted net electrical power<\/strong><\/td><td><strong>434.03 MW<\/strong><\/td><\/tr>\n<\/tbody><\/table>\n<p>The result represents expected full-load power for this combination of conditions. It can support capacity planning or provide a baseline for comparison with measured plant output; it is not a dispatch instruction.<\/p>\n<h3>Ambient-temperature derating curve<\/h3>\n<p>The directional analysis varies ambient temperature while holding exhaust vacuum at 50.90 cm Hg, ambient pressure at 1,012.60 mbar and relative humidity at 72.43%. At the nominal reference temperature of 20.35 \u00b0C, the model predicts 452.74 MW.<\/p>\n<img decoding=\"async\" src=\"https:\/\/www.neuraldesigner.com\/wp-content\/uploads\/2026\/07\/combined-cycle-power-plant-temperature-derating-2026.png\" alt=\"Predicted combined-cycle net electrical power as ambient temperature increases\">\n<p>The model shows the expected reduction in available full-load power as ambient temperature rises. The curve must only be interpreted inside the trained temperature range of <strong>1.81 to 37.11 \u00b0C<\/strong>; values drawn outside that interval are extrapolations.<\/p>\n<div class=\"ndb-note\"><strong>Operational use.<\/strong> Together, the point scenario and derating curve provide a compact expected-capacity view: the table answers \u201cwhat output is expected under this hot condition?\u201d, while the curve shows how sensitive the estimate is to ambient temperature around a nominal plant state.<\/div>\n<h3>Download and reproduce<\/h3>\n<div class=\"ndb-downloads\"><a href=\"https:\/\/www.neuraldesigner.com\/wp-content\/uploads\/2026\/07\/combined-cycle-power-plant-python-model-2026.zip\">Download Python model (ZIP)<\/a><a href=\"https:\/\/www.neuraldesigner.com\/wp-content\/uploads\/2026\/07\/combined-cycle-power-plant-project-2026.zip\">Download Neural Designer project (ZIP)<\/a><a href=\"https:\/\/www.neuraldesigner.com\/wp-content\/uploads\/2023\/10\/combinedcyclepowerplant.csv\">Download dataset (CSV)<\/a><\/div>\n<h3>Tutorial video<\/h3><div class=\"ndb-video\"><iframe src=\"https:\/\/www.youtube.com\/embed\/gEZ4etqjDK8\" title=\"Combined-cycle power plant prediction tutorial\" allowfullscreen><\/iframe><\/div><\/section>\n\n<section id=\"8-limitations\" class=\"ndb-card\"><h2>8. Scope and limitations<\/h2><ul>\n<li>The data represents one combined-cycle plant operating at full load between 2006 and 2011.<\/li><li>The released variables are hourly averages and do not model start-up, shutdown, ramps or short transients.<\/li><li>The model does not include fuel properties, turbine configuration, equipment condition, maintenance events, heat rate, emissions or market constraints.<\/li><li>The random split and duplicated rows do not prove performance on future years or another plant.<\/li><li>Inputs must remain within both the numerical ranges and the joint operating combinations represented by the data.<\/li><li>Production deployment should monitor sensor quality, missing data, residual bias and model drift, with periodic recalibration.<\/li><li>The surrogate supports engineering analysis; it does not replace OEM correction curves, thermodynamic models, dispatch procedures or certified control and protection systems.<\/li><\/ul><\/section>\n\n<section id=\"references\" class=\"ndb-card\"><h2>References<\/h2><ul><li>T\u00fcfekci, P., &amp; Kaya, H. (2014). <a href=\"https:\/\/archive.ics.uci.edu\/dataset\/294\/combined%2Bcycle%2Bpower%2Bplant\">Combined Cycle Power Plant dataset<\/a>. UCI Machine Learning Repository. DOI: 10.24432\/C5002N.<\/li><li>T\u00fcfekci, P. (2014). <a href=\"https:\/\/doi.org\/10.1016\/j.ijepes.2014.02.027\">Prediction of full load electrical power output of a base load operated combined cycle power plant using machine learning methods<\/a>. International Journal of Electrical Power &amp; Energy Systems, 60, 126\u2013140.<\/li><\/ul><\/section>\n<\/div><\/div>","protected":false},"author":13,"featured_media":2325,"template":"","categories":[29],"tags":[44,43],"class_list":["post-3477","learning","type-learning","status-publish","has-post-thumbnail","hentry","category-examples","tag-energy","tag-industry"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.4 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Improve the performance of a power plant using machine learning<\/title>\n<meta name=\"description\" content=\"Build a machine learning model to improve the performance in electricity production in a combined cycle power plant.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.neuraldesigner.com\/learning\/examples\/combined-cycle-power-plant\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Combined cycle power plant optimization machine learning example\" \/>\n<meta property=\"og:description\" content=\"A combined cycle power plant is composed of gas turbines, steam turbines, and heat recovery steam generators. In this type of plant, the electricity is generated by gas and steam turbines combined in one cycle. Then, it is transferred from one turbine to another.&quot;&gt;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.neuraldesigner.com\/learning\/examples\/combined-cycle-power-plant\/\" \/>\n<meta property=\"og:site_name\" content=\"Neural Designer\" \/>\n<meta property=\"article:modified_time\" content=\"2026-08-25T12:03:24+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.neuraldesigner.com\/wp-content\/uploads\/2023\/06\/cycle-power-plant.webp\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"628\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/webp\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:title\" content=\"Combined cycle power plant optimization machine learning example\" \/>\n<meta name=\"twitter:description\" content=\"A combined cycle power plant is composed of gas turbines, steam turbines, and heat recovery steam generators. In this type of plant, the electricity is generated by gas and steam turbines combined in one cycle. Then, it is transferred from one turbine to another.\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/www.neuraldesigner.com\/wp-content\/uploads\/2023\/06\/cycle-power-plant.webp\" \/>\n<meta name=\"twitter:site\" content=\"@NeuralDesigner\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"7 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.neuraldesigner.com\/learning\/examples\/combined-cycle-power-plant\/\",\"url\":\"https:\/\/www.neuraldesigner.com\/learning\/examples\/combined-cycle-power-plant\/\",\"name\":\"Improve the performance of a power plant using machine learning\",\"isPartOf\":{\"@id\":\"https:\/\/www.neuraldesigner.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.neuraldesigner.com\/learning\/examples\/combined-cycle-power-plant\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.neuraldesigner.com\/learning\/examples\/combined-cycle-power-plant\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.neuraldesigner.com\/wp-content\/uploads\/2023\/06\/cycle-power-plant.webp\",\"datePublished\":\"2026-02-13T10:12:59+00:00\",\"dateModified\":\"2026-08-25T12:03:24+00:00\",\"description\":\"Build a machine learning model to improve the performance in electricity production in a combined cycle power plant.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.neuraldesigner.com\/learning\/examples\/combined-cycle-power-plant\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.neuraldesigner.com\/learning\/examples\/combined-cycle-power-plant\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.neuraldesigner.com\/learning\/examples\/combined-cycle-power-plant\/#primaryimage\",\"url\":\"https:\/\/www.neuraldesigner.com\/wp-content\/uploads\/2023\/06\/cycle-power-plant.webp\",\"contentUrl\":\"https:\/\/www.neuraldesigner.com\/wp-content\/uploads\/2023\/06\/cycle-power-plant.webp\",\"width\":1200,\"height\":628,\"caption\":\"Combined cycle power plant\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.neuraldesigner.com\/learning\/examples\/combined-cycle-power-plant\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.neuraldesigner.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Learning\",\"item\":\"https:\/\/www.neuraldesigner.com\/learning\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Improve the performance of a power plant using machine learning\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.neuraldesigner.com\/#website\",\"url\":\"https:\/\/www.neuraldesigner.com\/\",\"name\":\"Neural Designer\",\"description\":\"Explainable AI Platform\",\"publisher\":{\"@id\":\"https:\/\/www.neuraldesigner.com\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.neuraldesigner.com\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.neuraldesigner.com\/#organization\",\"name\":\"Neural Designer\",\"url\":\"https:\/\/www.neuraldesigner.com\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.neuraldesigner.com\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.neuraldesigner.com\/wp-content\/uploads\/2023\/05\/logo-neural-1.png\",\"contentUrl\":\"https:\/\/www.neuraldesigner.com\/wp-content\/uploads\/2023\/05\/logo-neural-1.png\",\"width\":1024,\"height\":223,\"caption\":\"Neural Designer\"},\"image\":{\"@id\":\"https:\/\/www.neuraldesigner.com\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/x.com\/NeuralDesigner\",\"https:\/\/es.linkedin.com\/showcase\/neuraldesigner\/\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Improve the performance of a power plant using machine learning","description":"Build a machine learning model to improve the performance in electricity production in a combined cycle power plant.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.neuraldesigner.com\/learning\/examples\/combined-cycle-power-plant\/","og_locale":"en_US","og_type":"article","og_title":"Combined cycle power plant optimization machine learning example","og_description":"A combined cycle power plant is composed of gas turbines, steam turbines, and heat recovery steam generators. In this type of plant, the electricity is generated by gas and steam turbines combined in one cycle. Then, it is transferred from one turbine to another.\">","og_url":"https:\/\/www.neuraldesigner.com\/learning\/examples\/combined-cycle-power-plant\/","og_site_name":"Neural Designer","article_modified_time":"2026-08-25T12:03:24+00:00","og_image":[{"width":1200,"height":628,"url":"https:\/\/www.neuraldesigner.com\/wp-content\/uploads\/2023\/06\/cycle-power-plant.webp","type":"image\/webp"}],"twitter_card":"summary_large_image","twitter_title":"Combined cycle power plant optimization machine learning example","twitter_description":"A combined cycle power plant is composed of gas turbines, steam turbines, and heat recovery steam generators. In this type of plant, the electricity is generated by gas and steam turbines combined in one cycle. Then, it is transferred from one turbine to another.","twitter_image":"https:\/\/www.neuraldesigner.com\/wp-content\/uploads\/2023\/06\/cycle-power-plant.webp","twitter_site":"@NeuralDesigner","twitter_misc":{"Est. reading time":"7 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.neuraldesigner.com\/learning\/examples\/combined-cycle-power-plant\/","url":"https:\/\/www.neuraldesigner.com\/learning\/examples\/combined-cycle-power-plant\/","name":"Improve the performance of a power plant using machine learning","isPartOf":{"@id":"https:\/\/www.neuraldesigner.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.neuraldesigner.com\/learning\/examples\/combined-cycle-power-plant\/#primaryimage"},"image":{"@id":"https:\/\/www.neuraldesigner.com\/learning\/examples\/combined-cycle-power-plant\/#primaryimage"},"thumbnailUrl":"https:\/\/www.neuraldesigner.com\/wp-content\/uploads\/2023\/06\/cycle-power-plant.webp","datePublished":"2026-02-13T10:12:59+00:00","dateModified":"2026-08-25T12:03:24+00:00","description":"Build a machine learning model to improve the performance in electricity production in a combined cycle power plant.","breadcrumb":{"@id":"https:\/\/www.neuraldesigner.com\/learning\/examples\/combined-cycle-power-plant\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.neuraldesigner.com\/learning\/examples\/combined-cycle-power-plant\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.neuraldesigner.com\/learning\/examples\/combined-cycle-power-plant\/#primaryimage","url":"https:\/\/www.neuraldesigner.com\/wp-content\/uploads\/2023\/06\/cycle-power-plant.webp","contentUrl":"https:\/\/www.neuraldesigner.com\/wp-content\/uploads\/2023\/06\/cycle-power-plant.webp","width":1200,"height":628,"caption":"Combined cycle power plant"},{"@type":"BreadcrumbList","@id":"https:\/\/www.neuraldesigner.com\/learning\/examples\/combined-cycle-power-plant\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.neuraldesigner.com\/"},{"@type":"ListItem","position":2,"name":"Learning","item":"https:\/\/www.neuraldesigner.com\/learning\/"},{"@type":"ListItem","position":3,"name":"Improve the performance of a power plant using machine learning"}]},{"@type":"WebSite","@id":"https:\/\/www.neuraldesigner.com\/#website","url":"https:\/\/www.neuraldesigner.com\/","name":"Neural Designer","description":"Explainable AI Platform","publisher":{"@id":"https:\/\/www.neuraldesigner.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.neuraldesigner.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.neuraldesigner.com\/#organization","name":"Neural Designer","url":"https:\/\/www.neuraldesigner.com\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.neuraldesigner.com\/#\/schema\/logo\/image\/","url":"https:\/\/www.neuraldesigner.com\/wp-content\/uploads\/2023\/05\/logo-neural-1.png","contentUrl":"https:\/\/www.neuraldesigner.com\/wp-content\/uploads\/2023\/05\/logo-neural-1.png","width":1024,"height":223,"caption":"Neural Designer"},"image":{"@id":"https:\/\/www.neuraldesigner.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/x.com\/NeuralDesigner","https:\/\/es.linkedin.com\/showcase\/neuraldesigner\/"]}]}},"_links":{"self":[{"href":"https:\/\/www.neuraldesigner.com\/api\/wp\/v2\/learning\/3477","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.neuraldesigner.com\/api\/wp\/v2\/learning"}],"about":[{"href":"https:\/\/www.neuraldesigner.com\/api\/wp\/v2\/types\/learning"}],"author":[{"embeddable":true,"href":"https:\/\/www.neuraldesigner.com\/api\/wp\/v2\/users\/13"}],"version-history":[{"count":15,"href":"https:\/\/www.neuraldesigner.com\/api\/wp\/v2\/learning\/3477\/revisions"}],"predecessor-version":[{"id":23675,"href":"https:\/\/www.neuraldesigner.com\/api\/wp\/v2\/learning\/3477\/revisions\/23675"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.neuraldesigner.com\/api\/wp\/v2\/media\/2325"}],"wp:attachment":[{"href":"https:\/\/www.neuraldesigner.com\/api\/wp\/v2\/media?parent=3477"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.neuraldesigner.com\/api\/wp\/v2\/categories?post=3477"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.neuraldesigner.com\/api\/wp\/v2\/tags?post=3477"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}