This code performs a multi-objective optimization of an air-standard Brayton cycle, aiming to simultaneously optimize: (1) Net work output (Wnet) and (2) Thermal efficiency (ηB). Since these objectives are conflicting (increasing efficiency often reduces work and vice versa), a Pareto optimization approach is used to identify optimal trade-offs.
The system is defined using standard Brayton cycle relations with:
● Compressor efficiency: 𝜂𝐶=0.7
● Turbine efficiency: 𝜂𝑇=0.85
● Inlet temperature: 𝑇1=300𝐾
● Maximum cycle temperature: 𝑇3=1500𝐾
● Heat capacity ratio: 𝛾=1.4 (for air)
Decision variable: pressure ratio 𝜏.
​
The net work is modeled as: Turbine work minus compressor work (accounting for efficiencies: ηC = 0.7 and ηT = 0.85)
​
Thermal Efficiency is given by: 𝜂𝐵=𝑊𝑛𝑒𝑡/𝑄𝑖𝑛 where the heat input depends on compressor outlet temperature.
Weighted Sum Method is adopted. A scalar objective function, called weightedObjective, is constructed:
𝐹(𝜏) = (1−𝛼) 𝑊𝑛𝑒𝑡 + 𝛼 𝜂𝐵
where 𝛼 ∈ [0 , 1] controls preference:
● α = 0 : maximize work
● α = 1 : maximize efficiency
The code sweeps 1000 weight values, solving: FindMaximum[{weightedObjective, constraints}]
​
This generates a set of optimal solutions forming the Pareto front shown by the blue dots in the last figure.
To select a single optimal design, the code applies a distance-based method as follows:
● Normalize both objectives.
● Define the ideal point: (1,1).
● Compute Euclidean distance.
● Fetch the minimum distance.
The code yields the following result: τ≈8.06 Wnet≈223.23 𝜂𝐵≈0.2624. This represents the best trade-off design.
◼
  • The final plot shows:
  • ◼
  • Blue points: Pareto solutions (from optimization)
  • ◼
  • Green curve: full parametric sweep
  • ◼
  • Red point: best compromise solution
  • ◼
  • This plot visually confirms:
  • ◼
  • The trade-off curve shape
  • ◼
  • The optimal compromise location
  • In[]:=
    T1=300;​​P1=1;​​T3=1500;​​ηC=0.7;​​ηT=0.85;​​γ=1.4;
    In[]:=
    Wnet[τ_]:=ηTT31-
    1-γ
    γ
    τ
    -
    T1
    ηC
    
    γ-1
    γ
    τ
    -1;ηB[τ_]:=
    ηTT31-
    1-γ
    γ
    τ
    -
    T1
    ηC
    
    γ-1
    γ
    τ
    -1
    T3-T11+
    1
    ηC
    
    γ-1
    γ
    τ
    -1
    ;
    In[]:=
    weightedObjective[{τ_},α_]:=(1-α)Wnet[τ]+αηB[τ]
    In[]:=
    solutions=Table[FindMaximum[{weightedObjective[{tau},w],0<=tau<=10},{tau,0.5}][[2]],{w,0,1,0.001}];
    In[]:=
    pareto=Table[{Wnet[tau],ηB[tau]}/.solutions[[i]],{i,1,Length@solutions}];
    BEST COMPROMISE (DISTANCE METHOD)
    etaMax=Max[pareto[[All,2]]];​​etaMin=Min[pareto[[All,2]]];​​​​wMax=Max[pareto[[All,1]]];​​wMin=Min[pareto[[All,1]]];
    In[]:=
    Print["===== MAX EFFICIENCY ====="];​​Print[etaMax];
    ===== MAX EFFICIENCY =====
    0.269303
    In[]:=
    Print["===== MAX WORK ====="];​​Print[wMax];
    ===== MAX WORK =====
    225.155
    Normalize both objectives: Wnet and ηB
    normData=Table[{(pareto[[i,2]]-etaMin)/(etaMax-etaMin),(pareto[[i,1]]-wMin)/(wMax-wMin)},{i,Length[pareto]}];
    Compute Euclidean distance to ideal point (1,1)
    dist=Table[Sqrt[(1-normData[[i,2]])^2+(1-normData[[i,1]])^2],{i,Length[normData]}];
    Fetch the minimum distance
    bestIdx=First@Ordering[dist,1];​​bestPoint=pareto[[bestIdx]];
    In[]:=
    idxBest=First@Ordering[dist,1]
    Out[]=
    999
    In[]:=
    bestSolution=solutions[[idxBest]];​​bestPareto=pareto[[idxBest]];
    Display results
    Print["Best compromise solution (DISTANCE):"];​​Print["tau = ",NumberForm[tau/.bestSolution,{6,2}]];​​Print["Wnet = ",NumberForm[bestPareto[[1]],{6,4}]];​​Print["ηB = ",NumberForm[bestPareto[[2]],{6,4}]];
    Best compromise solution (DISTANCE):
    tau = 8.06
    Wnet = 223.2300
    ηB = 0.2624
    In[]:=
    tauVals=Range[2,30,0.05];​​data=Table[{tau,ηB[tau],Wnet[tau]},{tau,tauVals}];
    ShowListPlotpareto[[All,{1,2}]],
    
    ,ListPlotdata[[All,{3,2}]],
    
    ,Graphics[{Darker@Red,PointSize[0.015],Point[{bestPareto[[1]],bestPareto[[2]]}]}],
    
    Out[]=

    CITE THIS NOTEBOOK

    Pareto optimization of an air-standard Brayton cycle​
    by Housam Binous and Ahmed Bellagi
    Wolfram Community, STAFF PICKS, April 16, 2026
    https://community.wolfram.com/groups/-/m/t/3688443