Early optimization trials

Background

Recall that the goal was to optimize the cooling capacity of a heat-driven cooling system, by adjusting the internal design parameters of the chiller subsystem and heat exchangers. In optimization language, the objective to minimize is the additive inverse of the cooling capacity. Three external streams are treated as inputs defined at their inlet to the heat exchangers (one as heat supply, one for heat rejection, and another to deliver cooling to the load). Furthermore, the goal for the maximum "cost" (monetary, material, etc) associated with the design is treated as a constraint. The challenges with delivering satisfactory optimization trials appear to come from properly constraining the optimization problem, and possibly from insufficient smoothness due to numerical methods for evaluating heat transfer.

The internal design parameters are the sizes of the heat exchangers, pumped mass flow rates, and valve coefficients if present. However, with heat exchanger sizes as the inputs, solving requires iteration to determine fluid states at key points (similar to a transient solver converging to steady state). Despite potential disadvantages, we wanted to go with the simplest possible model, so instead I treated as inputs the fluid states at key points (a handful of temperatures and absorbate concentrations), which decouples solving the internal cycle from the external streams. Then the model is solved in one pass. The downside is that it becomes possible to give the model an infeasible set of inputs, for which the cycle doesn't solve but yields an error. Constraints that make the cooling cycle feasible are called hard constraints (they must be always observed). Constraints that pertain to feasible heat transfer and cost goal are considered soft constraints, because they can be violated during the process of optimization as long as they eventually are resolved. Going forward, we could change out some hard constraints by rearranging the model to group blocks of the cycle that could be solved independently, resulting in mismatch in mass/species/energy instead of a solver error, and treat the mismatch as a soft constraint (more like the equation-solver approach).

Originally, I developed my models intending to use the optimization library from Scipy, called directly in Python from module scipy.optimize. After early trials failed to yield satisfying results, I attempted to use GenOpt tool from LBL (a standalone Generic Optimization program coded in Java, with source on GitHub, not to be confused with any other GenOpt). Below I will show the results of the early (ie. not yet satisfying) trials for the single-effect ammonia-water absorption cycle system.

To clarify language, the code uses classes to encapsulate the following objects seen in source files ammonia1.py and system_aqua1.py:

  • Problem(System sys, goal_UA). The optimization problem currently being solved including methods to evaluate the objective, constraints, solver options. This object calls on a System object to handle model calculations.
  • System(Boundary bdry, Chiller ch). Couples together calculations involving the cooling subsystem and the external streams.
  • Chiller(chiller spec). The model for the chiller subsystem defined by a specification; for the set of input variables, a shortcut is provided as makeChiller(xC) for the input vector xC = mdot, T1, T2, ....
  • Boundary(Stream heat_supply, Stream heat_rejection, Stream cooling). The set of external streams. For convenient initialization and hashing, a shortcut is provided as makeBoundary(xB) where the input vector xB = (T_inlet_1, m_1, T_inlet_2, m_2, ...). (Although the shortcut generates three sensible streams with the specific heat of liquid water, this does not mean that you have designed a water-cooled system; you could change $c_p$ and expect the same results, as discussed in the prospectus. A future revision should clarify by asking to input $\dot m c_p$ instead of $\dot m$, but meanwhile I already have the trials indexed by this definition of xB.)
  • Stream. Must implement methods q(T) and T(q) to describe the (q,T) curve for a particular process. For example, a straight-through flow process would have $q = \dot m \Delta h$. A desorber or absorber may have internally counterflowing gas and liquid streams, so the equation takes on a different form (confer prior writings and textbooks).

We set up the problem in order to look at parameter studies where we loop over a range of values for some variable fixed during optimization, such as goal_UA or xB, so these are described by vectors in order to hash and store the results for easy lookup.

Handling constraints

In the scipy library there are some bounded and constrainted optimization solvers, allowing for constraints to be passed in as a vector separately from the objective. That is easy, so in my first attempt, the system includes a list of all constraints in the system object.

However, other than box constraints (variable bounds), GenOpt directs the user to build a custom Optimizer or incorporate the constraints into a modified objective function. The GenOpt manual includes a discussion of numerical methods, such as barrier and penalty functions, and these methods are adopted when optimizing with GenOpt.

Note that scipy.optimize takes the convention that inequality constraints are of the form

$$ C_j(x) \ge 0 $$

whereas GenOpt takes the convention that inequality constraints are of the form

$$ g_i(x) \le 0, $$

so the code has to wrap the outputs depending on the choice of optimizer interface.

Handling heat transfer

In the HRHX_integral_model (since 1e79c81), I use the integral version of the counterflow heat exchange equation relating UA and Q (see my prospectus, eqn. #10), which depends on two curves, (Q, T) for the cold and hot streams. With the current choice of inputs, the Q is fixed by the cooling cycle, we just need to perform the integral to get UA. The integration library from Scipy provides numerical integration routines, so I used that. Naturally, this results in long computation times to evaluate UA given Q. (Furthermore, if effectiveness or pinch point are desired, that requires an additional call to a minimize routine. Sometimes I have tried to use as constraints the effectiveness or $\Delta T$ at pinch.) This is because for each stream, evaluating each point on the (q,T) curve involves fluid property lookups, including possibly iterative solves with enthalpy as input, and a little arithmetic. Thus in commit 1726931, I introduced a trick intended to reduce computation time: to limit the number of property lookups, I make a spline of the (q,T) curve prior to integration (with a new stream object). Per point, the spline interpolate is faster than the direct property lookup, and the inverse curve is obtained for free. I have chosen to build the spline from a fixed number of points, which introduces potential error from discretization. TODO: profile the code to produce a table comparing the time to evaluate a System model with and without the interpolate.

At the moment, to evaluate Q given UA, I just minimize the error in UA, because I already have a function UA(Q). This is not ideal, because Q(UA) is the more physical problem (always feasible to solve). It would make sense to use a finite element method. Perhaps that would be a good future addition.

Code samples

Input vectors

Here is how we map the Boundary and Chiller specifications. From system_aqua1.py:

def makeBoundary(x):
    """Given a iterable x that represents 5 stream inlets as T,m pairs,
    returns the Boundary object representing that.

    t0,m0,t1,m1,t2,m2,t3,m3,t4,m4 = x

    Note that boundary streams are

    0
        heat
    1
        absorberReject
    2
        condenserReject
    3
        cold
    4
        rectifierReject
    """
    t0, m0, t1, m1, t2, m2, t3, m3, t4, m4 = x
    # Units: K, kg/s, kW/kg-K
    cp = 4.179
    return Boundary(
        heat=streamExample1(t0, m0, cp),
        absorberReject=streamExample1(t1, m1, cp),
        condReject=streamExample1(t2, m2, cp),
        cold=streamExample1(t3, m3, cp),
        rectifierReject=streamExample1(t4, m4, cp))


def makeChiller(x):
    """Given a iterable x that represents a chiller state,
    return a chiller object.

    Args
    ====

    x[0]
        m_rich (kg/s)
    x[1]
        T_evap (K)
    x[2]
        T_cond (K)
    x[3]
        T_rect (K)
    x[4]
        T_abs_outlet (K)
    x[5]    
        T_gen_outlet (K)
    """
    chiller = ammonia1.AmmoniaChiller()
    m_rich, T_evap, T_cond, T_rect, T_abs_outlet, T_gen_outlet = x
    chiller.update(m_rich=m_rich,
                   T_evap=T_evap,
                   T_cond=T_cond,
                   T_rect=T_rect,
                   T_abs_outlet=T_abs_outlet,
                   T_gen_outlet=T_gen_outlet)
    return chiller

Trials with scipy.optimize, constrained optimization

Here is how we computed constraints for constrained optimization solvers in scipy.optimize. The constraint functions (desired to be non-negative) passed to the optimizer are:

\begin{align} C_0 &= m_{rich} \\ C_1 &= T_{cond} - T_{evap} \\ C_2 &= T_{rect} - T_{cond} \\ C_3 &= T_{generator\ outlet} - T_{rect} \\ C_4 &= T_{generator\ outlet} - T_{absorber\ outlet} \\ C_5 &= \Delta T_{generator} \\ C_6 &= \Delta T_{rectifier} \\ C_7 &= \Delta T_{absorber} \\ C_8 &= \Delta T_{condenser} \\ C_{9} &= \Delta T_{evaporator} \\ C_{10} &= UA_{goal} - UA_{actual} \end{align}

The code that accomplishes this includes a lookup function so that the System() is only called once per unique combination of inputs, but otherwise is equivalent to:

class Problem(object):

    def __init__(self, bdry, UAgoal, constraintMode=None, mu=0.1):
        self.bdry = bdry
        self.UAgoal = UAgoal
        self.constraintMode = constraintMode
        self.mu = 0.1
        self.input = []
        self.output = dict()
        self.Ncons = 11
        if constraintMode == None:
            # Automatic constraints mode: minimizer imposes all constraints.
            # This object is sent to minimizer with handles back to self.
            # See definition of constraint() below.
            # Confusingly, some code comments called this soft constraints mode.
            self.constraints = [{'type': 'ineq',
                                 'fun': self.constraint,
                                 'args': (i,)} for i in range(self.Ncons)]
        else:
            # Manual constraints modes: objective function modified.
            # See definition of objective() below.
            # Confusingly, some code comments called this hard constraints mode.
            self.constraints = []

    def objective(self, x, stepNumber=1):
        """Return the value of the objective function to minimize. This is
        :math:`-Q_{evap}` modified depending on constraintMode.
        """
        try:
            sys = System(self.bdry, makeChiller(x))
            Q = sys.chiller.Q_evap
        except Exception as e:
            Q = 0

        if self.constraintMode != None:
            raise NotImplementedError

        return -Q

    def constraint(self, x, *args):
        i, = args
        cons = [x[0],
                x[2] - x[1],
                x[3] - x[2],
                x[5] - x[3],
                x[5] - x[4]]
        try:
            sys = System(self.bdry, makeChiller(x))
            # This loops over external-facing heat exchangers
            for name, deltaT, epsilon, UA, Qhx in sys.data:
                cons.append(deltaT)
            cons.append(self.UAgoal - sys.totalUA)
        except Exception as e:
            while len(cons) < self.Ncons:
                cons.append(-1)
        return cons[i]

def makeOrGetProblemForBoundary(
        xB, U, xC, method=None, options=None, folder='data', create=False):
    ...
    # Create the data
    opt, err = None, None
    bdry = makeBoundary(xB)
    p = Problem(bdry, U, constraintMode=None)
    try:
        opt = minimize(p.objective,
                       xC,
                       constraints=p.constraints,
                       method=method,
                       options=options)
    ...
    return xB, bdry, p, opt, err

Primitive barrier: first attempt

Here is how we compute the modified objective function. In the GenOpt trial 1 (opt1 folder), I used my primitive barrier function, thus, in src/system_aqua1.py. Note that the loop for row in sys.data iterates over the external facing heat exchangers.

def main2():
    """Script to run with GenOpt, using a stupid barrier function"""

    import sys  # command args
    import traceback  # display errors into log
    import json  # read input file with standard, structured format
    from decimal import Decimal  # convert 'inf' to 'Infinity' etc

    infile, outfile, logfile = sys.argv[1:4]

    with open(logfile, 'w') as log:
        print('infile="{}"'.format(infile), file=log)
        print('outfile="{}"'.format(outfile), file=log)
        print('logfile="{}"'.format(logfile), file=log)

        try:
            with open(infile) as fin:
                data = json.load(fin)
            stepNumber = data['stepNumber']
            UAgoal = data['UAgoal']
            xB = data['xB']
            xC = data['xC']
            print('UAgoal={}'.format(UAgoal), file=log)
            print('xB={}'.format(xB), file=log)
            print('xC={}'.format(xC), file=log)
            bdry = makeBoundary(xB)
            chiller = makeChiller(xC)
            sys = System(bdry, chiller)
            print(sys, file=log)

            with open(outfile, 'w') as fout:
                print("Q_evap=", chiller.Q_evap, file=fout)
                sum_g_barrier = 0
                for row in sys.data:
                    name, deltaT, epsilon, UA, Qhx = row
                    print("UA_{}={}".format(name, Decimal(UA)), file=fout)
                    print("deltaT_{}={}".format(name, Decimal(deltaT)), file=fout)
                    sum_g_barrier += deltaT
                print("sum_g_barrier={}".format(Decimal(sum_g_barrier)), file=fout)
                mu = 3 / stepNumber
                print("mu={}".format(mu), file=fout)

        except:
            traceback.print_exc(file=log)

I pass the value to GenOpt via the configuration file, opt1\pythonSimulation.cfg:

ObjectiveFunctionLocation{
    Name1      = objective;
    Function1  = "add(-%Q_evap%, multiply(%mu%,-%sum_g_barrier%))";
    Name2      = Q_evap;
    Delimiter2 = "Q_evap=";
    Name3      = UA_gen; // gen rect abs cond evap
    Delimiter3 = "UA_gen=";
    Name4      = UA_rect;
    Delimiter4 = "UA_rect=";
    Name5      = UA_abs;
    Delimiter5 = "UA_abs=";
    Name6      = UA_cond;
    Delimiter6 = "UA_cond=";
    Name7      = UA_evap;
    Delimiter7 = "UA_evap=";
    Name8      = deltaT_gen; // gen rect abs cond evap
    Delimiter8 = "deltaT_gen=";
    Name9      = deltaT_rect;
    Delimiter9 = "deltaT_rect=";
    Name10      = deltaT_abs;
    Delimiter10 = "deltaT_abs=";
    Name11      = deltaT_cond;
    Delimiter11 = "deltaT_cond=";
    Name12      = deltaT_evap;
    Delimiter12 = "deltaT_evap=";
    Name13      = con1;
    Function13  = "%m_rich%";
    Name14      = con2;
    Function14  = "add(%T_cond%, -%T_evap%)";
    Name15      = con3;
    Function15  = "subtract(%T_rect%, %T_cond%)";
    Name16      = con4;
    Function16  = "subtract(%T_gen_outlet%, %T_rect%)";
    Name17      = con5;
    Function17  = "subtract(%T_gen_outlet%, %T_abs_outlet%)";
    Name18      = mu;
    Delimiter18  = "mu=";
    Name19      = sum_g_barrier;
    Delimiter19 = "sum_g_barrier=";
}

Primitive barrier: second attempt

After the linear barrier function above, I tried applying the expit function (logistic curve) to smooth the barriers.

$$ Objective = -Q \prod_{j} \mathrm{expit}(C_j / \mu) $$

This was implemented in Problem.objective() thus:

def objective(self, x, stepNumber=1):
    Q, cons = self.lookup(x, printing=True)
    if self.constraintMode == 'expit':
        mu = self.mu
        for c in cons:
            Q *= expit(c / mu)
        return -Q
    else:
        return -Q

This was probably a bad idea; better options are discussed below.

Constraint mode 'genopt1'

I added more sophisticated, separate barrier (B) and penalty (P) functions and passed these to the optimizer. In GenOpt trial folders opt2 through opt5, I used this technique. I may also have tried this with scipy.optimize (which trials?). The objective function is, (as documented in source), with step number as $k$,

$$ Objective = -Q_{cooling}(x) + \mu_1 B(x) + \mu_2 P(x) $$$$ \mu_1 = k^{-2}$$$$ B(x) = \sum_{j=0}^{9} g_j$$$$\mu_2 = k^{2}$$$$ P(x) = \sum_{j=10}^{10} g_j$$

This was implemented thus: for the scipy.optimize routines, in Python,

def objective(self, x, stepNumber=1):
    Q, cons = self.lookup(x, printing=True)
    if self.constraintMode == 'genopt1':
        # Each cons[i] > 0 by scipy convention,
        # So need to change the sign of the second term.

        # GenOpt eqn. 8.6
        barrier = 0
        for c in cons[:10]:
            g = -c
            barrier += g
        # Eqn. 8.7
        mu1 = stepNumber ** (-2)

        # GenOpt eqn. 8.8
        penalty = 0
        for c in cons[10:]:
            g = -c
            penalty += max(0, g) ** 2
        # Eqn 8.9
        mu2 = stepNumber ** (2)

        f_tilde = -Q + mu1 * barrier + mu2 * penalty
        return f_tilde
    else:
        return -Q

And for the GenOpt optimizer, in Python:

def systemConstraints(sys, UAgoal):
    T_evap = sys.chiller.refrig_evap_outlet.T
    T_cond = sys.chiller.refrig_cond_outlet.T
    T_rect = sys.chiller.refrig_rect_outlet.T
    T_gen_outlet = sys.chiller.weak_gen_outlet.T
    T_abs_outlet = sys.chiller.rich_abs_outlet.T
    hardConstraints = [T_cond - T_evap,
                       T_rect - T_cond,
                       T_gen_outlet - T_rect,
                       T_gen_outlet - T_abs_outlet]
    # name, deltaT, epsilon, UA, Q
    deltaTT = [hx[1] for hx in sys.data]
    for deltaT in deltaTT:
        hardConstraints.append(deltaT)

    softConstraints = [UAgoal - sys.totalUA]

    # GenOpt eqn. 8.6
    barrier = 0
    for c in hardConstraints:
        g = -c
        barrier += g
    # Eqn. 8.7
    # mu1 = stepNumber ** (-2)

    # GenOpt eqn. 8.8
    penalty = 0
    for c in softConstraints:
        g = -c
        penalty += max(0, g) ** 2
    # Eqn 8.9
    # mu2 = stepNumber ** (2)

    return barrier, penalty


def main3(infile, outfile, logfile):
    """Script to run with GenOpt, using more intelligent constraints."""

    import traceback  # display errors into log
    import json  # read input file with standard, structured format
    from decimal import Decimal  # convert 'inf' to 'Infinity' etc

    with open(logfile, 'w') as log:
        print('infile="{}"'.format(infile), file=log)
        print('outfile="{}"'.format(outfile), file=log)
        print('logfile="{}"'.format(logfile), file=log)

        try:
            with open(infile) as fin:
                data = json.load(fin)
            stepNumber = data['stepNumber']
            UAgoal = data['UAgoal']
            xB = data['xB']
            xC = data['xC']
            print('UAgoal={}'.format(UAgoal), file=log)
            print('xB={}'.format(xB), file=log)
            print('xC={}'.format(xC), file=log)
            bdry = makeBoundary(xB)
            chiller = makeChiller(xC)
            sys = System(bdry, chiller)
            print(sys, file=log)
            barrier, penalty = systemConstraints(sys, UAgoal) # Look here

            with open(outfile, 'w') as fout:
                if np.isinf(barrier) or np.isinf(penalty):
                    print("Q_evap=", -1, file=fout)
                    print("barrier=", 0, file=fout)
                    print("penalty=", 0, file=fout)
                else:
                    print("Q_evap=", chiller.Q_evap, file=fout)
                    print("barrier=", barrier, file=fout)
                    print("penalty=", penalty, file=fout)

        except:
            traceback.print_exc(file=log)

Then in the GenOpt configuration,

ObjectiveFunctionLocation{
    Name1      = objective;
    Function1  = "add(multiply(-1,%Q_evap%), %barrier_and_penalty%)";
    Name2      = Q_evap;
    Delimiter2 = "Q_evap=";
    Name3      = barrier_and_penalty;
    Function3  = "add(multiply(%mu1%,%barrier%),multiply(%mu2%,%penalty%))";
    Name4      = barrier;
    Delimiter4 = "barrier=";
    Name5      = penalty;
    Delimiter5 = "penalty=";
    Name6      = mu1;
    Function6  = "pow(%stepNumber%,-2)";
    Name7      = mu2;
    Function7  = "pow(%stepNumber%,2)";
}

Constraint mode genopt2

Comparing what I just wrote to the GenOpt manual, it appears that I made a mistake. GenOpt suggests a barrier function be of this form (eqn 8.6):

$$ B(x) = \frac{1}{\sum_{i} g_i(x) } $$

Thus, TODO: implement a constraint mode genopt2 to invert the sum.

Trials with scipy.optimize

Setup for scipy.optimize trials

The problem was defined with a UA goal of 100, heat supply temperature of 400 K, and cooling load temperature of 285 K, thus:

def playback(method,folder,U=100,rejectTT=np.arange(20,61,5)):
    ...

    for i,rejectT in enumerate(rejectTT):
        rT = C2K(rejectT)
        xB = np.array([400,1, rT,3, rT,5, 285,4, rT,0.15], dtype=np.double)
        # m_rich, T_evap, T_cond, T_rect, T_abs_outlet, T_gen_outlet = x        
        xC0 = np.array([0.05, 278.45, rT+7, rT+8, rT+5, 395.15])
        ...

Here are 12 trials generated by the aqua_case_studies2 module, which calls system_aqua1 to run scipy.optimize.minimize with the selected optimizer method, over a range of temperatures for the heat rejection stream at the inlet to the system. For each trial, I will plot convergence of the optimizer for each temperature in the range, then plot once the optimum cooling capacity discovered during the search. Sometimes, the optimizer ends outside the feasible region, so I backtrack to the best search attempt.

In [1]:
%load_ext autoreload
%autoreload 2
import system_aqua1
import aqua_case_studies2
In [2]:
aqua_case_studies2.trials
Out[2]:
{'data': {'method': 'COBYLA', 'options': {'rhobeg': 0.01}},
 'data10': {'method': 'SLSQP'},
 'data11': {'method': 'dogleg'},
 'data12': {'method': 'trust-ncg'},
 'data2': {'method': None},
 'data3': {'method': 'Nelder-Mead'},
 'data4': {'method': 'Powell'},
 'data5': {'method': 'CG'},
 'data6': {'method': 'BFGS'},
 'data7': {'method': 'Newton-CG'},
 'data8': {'method': 'L-BFGS-B'},
 'data9': {'method': 'TNC'}}
In [3]:
help(aqua_case_studies2.playback)
Help on function playback in module aqua_case_studies2:

playback(method, folder, U=100, rejectTT=array([20, 25, 30, 35, 40, 45, 50, 55, 60]), output_sys_data=False)

Results with scipy.optimize

In [4]:
def nbplayback(folder):
    try:
        with open('../' + folder + '/readme.txt','r') as f:
            print(f.read())
    except:
        print('This trial contains no readme file.')
    args = aqua_case_studies2.trials[folder]
    aqua_case_studies2.trials[folder]['results'] \
        = aqua_case_studies2.playback(args['method'],folder,output_sys_data=True)
In [9]:
nbplayback('data')
Note: these files were created by system_aqua1.py
* Prior to adding the hardConstraints feature
* Using COBYLA with rhobeg = 0.01

Loaded the case from  ../data/system_aqua1_100_90491be93aff6cd2b9d684382bb534f2.pkl
At 1157e8eaf40a07ed8148134656455f56 caught "DLL returned b'Saturation properties cannot be determined for the given input variables'"
C:\Users\user1\Documents\GitHub\openACHP\src\aqua_case_studies2.py:91: RuntimeWarning: invalid value encountered in greater_equal
  mask = (po['cons'] >= 0).all(axis=1)
C:\Users\user1\Miniconda3\envs\openachp\lib\site-packages\scipy\interpolate\_cubic.py:147: RuntimeWarning: divide by zero encountered in true_divide
  mk = (y[1:] - y[:-1]) / hk
C:\Users\user1\Miniconda3\envs\openachp\lib\site-packages\scipy\interpolate\_cubic.py:165: RuntimeWarning: invalid value encountered in true_divide
  whmean = (w1/mk[:-1] + w2/mk[1:]) / (w1 + w2)
Loaded the case from  ../data/system_aqua1_100_262d49e60c00735830979de1523f5d00.pkl
Loaded the case from  ../data/system_aqua1_100_45ca83277be3e9a5971e1fa2d9ac5b00.pkl
Loaded the case from  ../data/system_aqua1_100_149c09da3311ef9d24f5c64b18fd1b1d.pkl
At 1157e8eaf40a07ed8148134656455f56 caught "DLL returned b'Saturation properties cannot be determined for the given input variables'"
Loaded the case from  ../data/system_aqua1_100_ddc0526bcf3ef647915f89590fddf49a.pkl
At 1157e8eaf40a07ed8148134656455f56 caught "DLL returned b'Saturation properties cannot be determined for the given input variables'"
Loaded the case from  ../data/system_aqua1_100_5c73391993c5e1da1c590c58dd6d3459.pkl
At 1157e8eaf40a07ed8148134656455f56 caught "DLL returned b'Saturation properties cannot be determined for the given input variables'"
Loaded the case from  ../data/system_aqua1_100_5ce7666527ab3509ca6c6bfe5799f2d4.pkl
Loaded the case from  ../data/system_aqua1_100_f430a1079eaddf114aab8afa74eabd87.pkl
At 2690b390cb167dfebdee6bd9e766f1cb caught In rectifier, net mass or ammonia flow is negative.
Loaded the case from  ../data/system_aqua1_100_59aa7fe7687bf60e9153231eff92b4a6.pkl
At a0abf977b98660d89a69a39e5484cfd7 caught In rectifier, net mass or ammonia flow is negative.
In [28]:
nbplayback('data2')
Note: these files were created by system_aqua1.py
* With hardConstraints = True
* Using default minimize options (BFGS)
* Each boundary condition took about 20 minutes
Loaded the case from  ../data2/system_aqua1_100_90491be93aff6cd2b9d684382bb534f2.pkl
C:\Users\user1\Miniconda3\envs\openachp\lib\site-packages\scipy\interpolate\_cubic.py:147: RuntimeWarning: divide by zero encountered in true_divide
  mk = (y[1:] - y[:-1]) / hk
C:\Users\user1\Miniconda3\envs\openachp\lib\site-packages\scipy\interpolate\_cubic.py:165: RuntimeWarning: invalid value encountered in true_divide
  whmean = (w1/mk[:-1] + w2/mk[1:]) / (w1 + w2)
Loaded the case from  ../data2/system_aqua1_100_262d49e60c00735830979de1523f5d00.pkl
Loaded the case from  ../data2/system_aqua1_100_45ca83277be3e9a5971e1fa2d9ac5b00.pkl
Loaded the case from  ../data2/system_aqua1_100_149c09da3311ef9d24f5c64b18fd1b1d.pkl
C:\Users\user1\Miniconda3\envs\openachp\lib\site-packages\scipy\integrate\quadpack.py:364: IntegrationWarning: The maximum number of subdivisions (50) has been achieved.
  If increasing the limit yields no improvement it is advised to analyze 
  the integrand in order to determine the difficulties.  If the position of a 
  local difficulty can be determined (singularity, discontinuity) one will 
  probably gain from splitting up the interval and calling the integrator 
  on the subranges.  Perhaps a special-purpose integrator should be used.
  warnings.warn(msg, IntegrationWarning)
Loaded the case from  ../data2/system_aqua1_100_ddc0526bcf3ef647915f89590fddf49a.pkl
Loaded the case from  ../data2/system_aqua1_100_5c73391993c5e1da1c590c58dd6d3459.pkl
Loaded the case from  ../data2/system_aqua1_100_5ce7666527ab3509ca6c6bfe5799f2d4.pkl
Loaded the case from  ../data2/system_aqua1_100_f430a1079eaddf114aab8afa74eabd87.pkl
Loaded the case from  ../data2/system_aqua1_100_59aa7fe7687bf60e9153231eff92b4a6.pkl
In [10]:
nbplayback('data3')
This trial contains no readme file.
Loaded the case from  ../data3/system_aqua1_100_90491be93aff6cd2b9d684382bb534f2.pkl
C:\Users\user1\Miniconda3\envs\openachp\lib\site-packages\scipy\interpolate\_cubic.py:147: RuntimeWarning: divide by zero encountered in true_divide
  mk = (y[1:] - y[:-1]) / hk
C:\Users\user1\Miniconda3\envs\openachp\lib\site-packages\scipy\interpolate\_cubic.py:165: RuntimeWarning: invalid value encountered in true_divide
  whmean = (w1/mk[:-1] + w2/mk[1:]) / (w1 + w2)
Loaded the case from  ../data3/system_aqua1_100_262d49e60c00735830979de1523f5d00.pkl
C:\Users\user1\Documents\GitHub\openACHP\src\aqua_case_studies2.py:91: RuntimeWarning: invalid value encountered in greater_equal
  mask = (po['cons'] >= 0).all(axis=1)
C:\Users\user1\Miniconda3\envs\openachp\lib\site-packages\scipy\integrate\quadpack.py:364: IntegrationWarning: The maximum number of subdivisions (50) has been achieved.
  If increasing the limit yields no improvement it is advised to analyze 
  the integrand in order to determine the difficulties.  If the position of a 
  local difficulty can be determined (singularity, discontinuity) one will 
  probably gain from splitting up the interval and calling the integrator 
  on the subranges.  Perhaps a special-purpose integrator should be used.
  warnings.warn(msg, IntegrationWarning)
Loaded the case from  ../data3/system_aqua1_100_45ca83277be3e9a5971e1fa2d9ac5b00.pkl
C:\Users\user1\Miniconda3\envs\openachp\lib\site-packages\scipy\integrate\quadpack.py:364: IntegrationWarning: The occurrence of roundoff error is detected, which prevents 
  the requested tolerance from being achieved.  The error may be 
  underestimated.
  warnings.warn(msg, IntegrationWarning)
Loaded the case from  ../data3/system_aqua1_100_149c09da3311ef9d24f5c64b18fd1b1d.pkl
Loaded the case from  ../data3/system_aqua1_100_ddc0526bcf3ef647915f89590fddf49a.pkl
Loaded the case from  ../data3/system_aqua1_100_5c73391993c5e1da1c590c58dd6d3459.pkl
Loaded the case from  ../data3/system_aqua1_100_5ce7666527ab3509ca6c6bfe5799f2d4.pkl
Loaded the case from  ../data3/system_aqua1_100_f430a1079eaddf114aab8afa74eabd87.pkl
Running the case for  ../data3/system_aqua1_100_59aa7fe7687bf60e9153231eff92b4a6.pkl
In [11]:
nbplayback('data4')
These data files
* Use hardConstraints = False
* method = Powell

Loaded the case from  ../data4/system_aqua1_100_90491be93aff6cd2b9d684382bb534f2.pkl
C:\Users\user1\Miniconda3\envs\openachp\lib\site-packages\scipy\interpolate\_cubic.py:147: RuntimeWarning: divide by zero encountered in true_divide
  mk = (y[1:] - y[:-1]) / hk
C:\Users\user1\Miniconda3\envs\openachp\lib\site-packages\scipy\interpolate\_cubic.py:165: RuntimeWarning: invalid value encountered in true_divide
  whmean = (w1/mk[:-1] + w2/mk[1:]) / (w1 + w2)
Loaded the case from  ../data4/system_aqua1_100_262d49e60c00735830979de1523f5d00.pkl
Loaded the case from  ../data4/system_aqua1_100_45ca83277be3e9a5971e1fa2d9ac5b00.pkl
Loaded the case from  ../data4/system_aqua1_100_149c09da3311ef9d24f5c64b18fd1b1d.pkl
C:\Users\user1\Miniconda3\envs\openachp\lib\site-packages\scipy\integrate\quadpack.py:364: IntegrationWarning: The maximum number of subdivisions (50) has been achieved.
  If increasing the limit yields no improvement it is advised to analyze 
  the integrand in order to determine the difficulties.  If the position of a 
  local difficulty can be determined (singularity, discontinuity) one will 
  probably gain from splitting up the interval and calling the integrator 
  on the subranges.  Perhaps a special-purpose integrator should be used.
  warnings.warn(msg, IntegrationWarning)
Loaded the case from  ../data4/system_aqua1_100_ddc0526bcf3ef647915f89590fddf49a.pkl
Loaded the case from  ../data4/system_aqua1_100_5c73391993c5e1da1c590c58dd6d3459.pkl
Loaded the case from  ../data4/system_aqua1_100_5ce7666527ab3509ca6c6bfe5799f2d4.pkl
Loaded the case from  ../data4/system_aqua1_100_f430a1079eaddf114aab8afa74eabd87.pkl
Loaded the case from  ../data4/system_aqua1_100_59aa7fe7687bf60e9153231eff92b4a6.pkl
In [12]:
nbplayback('data5')
These data files
* Use hardConstraints = False
* method = CG

Loaded the case from  ../data5/system_aqua1_100_90491be93aff6cd2b9d684382bb534f2.pkl
C:\Users\user1\Miniconda3\envs\openachp\lib\site-packages\scipy\interpolate\_cubic.py:147: RuntimeWarning: divide by zero encountered in true_divide
  mk = (y[1:] - y[:-1]) / hk
C:\Users\user1\Miniconda3\envs\openachp\lib\site-packages\scipy\interpolate\_cubic.py:165: RuntimeWarning: invalid value encountered in true_divide
  whmean = (w1/mk[:-1] + w2/mk[1:]) / (w1 + w2)
Loaded the case from  ../data5/system_aqua1_100_262d49e60c00735830979de1523f5d00.pkl
Loaded the case from  ../data5/system_aqua1_100_45ca83277be3e9a5971e1fa2d9ac5b00.pkl
Loaded the case from  ../data5/system_aqua1_100_149c09da3311ef9d24f5c64b18fd1b1d.pkl
Loaded the case from  ../data5/system_aqua1_100_ddc0526bcf3ef647915f89590fddf49a.pkl
Loaded the case from  ../data5/system_aqua1_100_5c73391993c5e1da1c590c58dd6d3459.pkl
Loaded the case from  ../data5/system_aqua1_100_5ce7666527ab3509ca6c6bfe5799f2d4.pkl
Loaded the case from  ../data5/system_aqua1_100_f430a1079eaddf114aab8afa74eabd87.pkl
Loaded the case from  ../data5/system_aqua1_100_59aa7fe7687bf60e9153231eff92b4a6.pkl
In [13]:
nbplayback('data6')
This trial contains no readme file.
Loaded the case from  ../data6/system_aqua1_100_90491be93aff6cd2b9d684382bb534f2.pkl
C:\Users\user1\Miniconda3\envs\openachp\lib\site-packages\scipy\interpolate\_cubic.py:147: RuntimeWarning: divide by zero encountered in true_divide
  mk = (y[1:] - y[:-1]) / hk
C:\Users\user1\Miniconda3\envs\openachp\lib\site-packages\scipy\interpolate\_cubic.py:165: RuntimeWarning: invalid value encountered in true_divide
  whmean = (w1/mk[:-1] + w2/mk[1:]) / (w1 + w2)
Loaded the case from  ../data6/system_aqua1_100_262d49e60c00735830979de1523f5d00.pkl
Loaded the case from  ../data6/system_aqua1_100_45ca83277be3e9a5971e1fa2d9ac5b00.pkl
Loaded the case from  ../data6/system_aqua1_100_149c09da3311ef9d24f5c64b18fd1b1d.pkl
Loaded the case from  ../data6/system_aqua1_100_ddc0526bcf3ef647915f89590fddf49a.pkl
Loaded the case from  ../data6/system_aqua1_100_5c73391993c5e1da1c590c58dd6d3459.pkl
Loaded the case from  ../data6/system_aqua1_100_5ce7666527ab3509ca6c6bfe5799f2d4.pkl
C:\Users\user1\Miniconda3\envs\openachp\lib\site-packages\scipy\integrate\quadpack.py:364: IntegrationWarning: The maximum number of subdivisions (50) has been achieved.
  If increasing the limit yields no improvement it is advised to analyze 
  the integrand in order to determine the difficulties.  If the position of a 
  local difficulty can be determined (singularity, discontinuity) one will 
  probably gain from splitting up the interval and calling the integrator 
  on the subranges.  Perhaps a special-purpose integrator should be used.
  warnings.warn(msg, IntegrationWarning)
Loaded the case from  ../data6/system_aqua1_100_f430a1079eaddf114aab8afa74eabd87.pkl
Loaded the case from  ../data6/system_aqua1_100_59aa7fe7687bf60e9153231eff92b4a6.pkl
In [14]:
nbplayback('data7')
This trial contains no readme file.
Loaded the case from  ../data7/system_aqua1_100_90491be93aff6cd2b9d684382bb534f2.pkl
C:\Users\user1\Miniconda3\envs\openachp\lib\site-packages\scipy\interpolate\_cubic.py:147: RuntimeWarning: divide by zero encountered in true_divide
  mk = (y[1:] - y[:-1]) / hk
C:\Users\user1\Miniconda3\envs\openachp\lib\site-packages\scipy\interpolate\_cubic.py:165: RuntimeWarning: invalid value encountered in true_divide
  whmean = (w1/mk[:-1] + w2/mk[1:]) / (w1 + w2)
Loaded the case from  ../data7/system_aqua1_100_262d49e60c00735830979de1523f5d00.pkl
Loaded the case from  ../data7/system_aqua1_100_45ca83277be3e9a5971e1fa2d9ac5b00.pkl
Loaded the case from  ../data7/system_aqua1_100_149c09da3311ef9d24f5c64b18fd1b1d.pkl
Loaded the case from  ../data7/system_aqua1_100_ddc0526bcf3ef647915f89590fddf49a.pkl
Loaded the case from  ../data7/system_aqua1_100_5c73391993c5e1da1c590c58dd6d3459.pkl
Loaded the case from  ../data7/system_aqua1_100_5ce7666527ab3509ca6c6bfe5799f2d4.pkl
Loaded the case from  ../data7/system_aqua1_100_f430a1079eaddf114aab8afa74eabd87.pkl
Loaded the case from  ../data7/system_aqua1_100_59aa7fe7687bf60e9153231eff92b4a6.pkl
In [15]:
nbplayback('data8')
This trial contains no readme file.
Loaded the case from  ../data8/system_aqua1_100_90491be93aff6cd2b9d684382bb534f2.pkl
C:\Users\user1\Miniconda3\envs\openachp\lib\site-packages\scipy\interpolate\_cubic.py:147: RuntimeWarning: divide by zero encountered in true_divide
  mk = (y[1:] - y[:-1]) / hk
C:\Users\user1\Miniconda3\envs\openachp\lib\site-packages\scipy\interpolate\_cubic.py:165: RuntimeWarning: invalid value encountered in true_divide
  whmean = (w1/mk[:-1] + w2/mk[1:]) / (w1 + w2)
Loaded the case from  ../data8/system_aqua1_100_262d49e60c00735830979de1523f5d00.pkl
Loaded the case from  ../data8/system_aqua1_100_45ca83277be3e9a5971e1fa2d9ac5b00.pkl
Loaded the case from  ../data8/system_aqua1_100_149c09da3311ef9d24f5c64b18fd1b1d.pkl
Loaded the case from  ../data8/system_aqua1_100_ddc0526bcf3ef647915f89590fddf49a.pkl
Loaded the case from  ../data8/system_aqua1_100_5c73391993c5e1da1c590c58dd6d3459.pkl
Loaded the case from  ../data8/system_aqua1_100_5ce7666527ab3509ca6c6bfe5799f2d4.pkl
Loaded the case from  ../data8/system_aqua1_100_f430a1079eaddf114aab8afa74eabd87.pkl
Loaded the case from  ../data8/system_aqua1_100_59aa7fe7687bf60e9153231eff92b4a6.pkl
In [16]:
nbplayback('data9')
This trial contains no readme file.
Loaded the case from  ../data9/system_aqua1_100_90491be93aff6cd2b9d684382bb534f2.pkl
C:\Users\user1\Miniconda3\envs\openachp\lib\site-packages\scipy\interpolate\_cubic.py:147: RuntimeWarning: divide by zero encountered in true_divide
  mk = (y[1:] - y[:-1]) / hk
C:\Users\user1\Miniconda3\envs\openachp\lib\site-packages\scipy\interpolate\_cubic.py:165: RuntimeWarning: invalid value encountered in true_divide
  whmean = (w1/mk[:-1] + w2/mk[1:]) / (w1 + w2)
Loaded the case from  ../data9/system_aqua1_100_262d49e60c00735830979de1523f5d00.pkl
Loaded the case from  ../data9/system_aqua1_100_45ca83277be3e9a5971e1fa2d9ac5b00.pkl
Loaded the case from  ../data9/system_aqua1_100_149c09da3311ef9d24f5c64b18fd1b1d.pkl
Loaded the case from  ../data9/system_aqua1_100_ddc0526bcf3ef647915f89590fddf49a.pkl
C:\Users\user1\Miniconda3\envs\openachp\lib\site-packages\scipy\integrate\quadpack.py:364: IntegrationWarning: The maximum number of subdivisions (50) has been achieved.
  If increasing the limit yields no improvement it is advised to analyze 
  the integrand in order to determine the difficulties.  If the position of a 
  local difficulty can be determined (singularity, discontinuity) one will 
  probably gain from splitting up the interval and calling the integrator 
  on the subranges.  Perhaps a special-purpose integrator should be used.
  warnings.warn(msg, IntegrationWarning)
Loaded the case from  ../data9/system_aqua1_100_5c73391993c5e1da1c590c58dd6d3459.pkl
Loaded the case from  ../data9/system_aqua1_100_5ce7666527ab3509ca6c6bfe5799f2d4.pkl
Loaded the case from  ../data9/system_aqua1_100_f430a1079eaddf114aab8afa74eabd87.pkl
Loaded the case from  ../data9/system_aqua1_100_59aa7fe7687bf60e9153231eff92b4a6.pkl
In [17]:
nbplayback('data10')
This trial contains no readme file.
Loaded the case from  ../data10/system_aqua1_100_90491be93aff6cd2b9d684382bb534f2.pkl
C:\Users\user1\Documents\GitHub\openACHP\src\aqua_case_studies2.py:91: RuntimeWarning: invalid value encountered in greater_equal
  mask = (po['cons'] >= 0).all(axis=1)
C:\Users\user1\Miniconda3\envs\openachp\lib\site-packages\scipy\interpolate\_cubic.py:147: RuntimeWarning: divide by zero encountered in true_divide
  mk = (y[1:] - y[:-1]) / hk
C:\Users\user1\Miniconda3\envs\openachp\lib\site-packages\scipy\interpolate\_cubic.py:165: RuntimeWarning: invalid value encountered in true_divide
  whmean = (w1/mk[:-1] + w2/mk[1:]) / (w1 + w2)
Loaded the case from  ../data10/system_aqua1_100_262d49e60c00735830979de1523f5d00.pkl
Loaded the case from  ../data10/system_aqua1_100_45ca83277be3e9a5971e1fa2d9ac5b00.pkl
Loaded the case from  ../data10/system_aqua1_100_149c09da3311ef9d24f5c64b18fd1b1d.pkl
Loaded the case from  ../data10/system_aqua1_100_ddc0526bcf3ef647915f89590fddf49a.pkl
Loaded the case from  ../data10/system_aqua1_100_5c73391993c5e1da1c590c58dd6d3459.pkl
Loaded the case from  ../data10/system_aqua1_100_5ce7666527ab3509ca6c6bfe5799f2d4.pkl
Loaded the case from  ../data10/system_aqua1_100_f430a1079eaddf114aab8afa74eabd87.pkl
Loaded the case from  ../data10/system_aqua1_100_59aa7fe7687bf60e9153231eff92b4a6.pkl
In [29]:
nbplayback('data11')
This trial contains no readme file.
Loaded the case from  ../data11/system_aqua1_100_90491be93aff6cd2b9d684382bb534f2.pkl
C:\Users\user1\Miniconda3\envs\openachp\lib\site-packages\scipy\interpolate\_cubic.py:147: RuntimeWarning: divide by zero encountered in true_divide
  mk = (y[1:] - y[:-1]) / hk
C:\Users\user1\Miniconda3\envs\openachp\lib\site-packages\scipy\interpolate\_cubic.py:165: RuntimeWarning: invalid value encountered in true_divide
  whmean = (w1/mk[:-1] + w2/mk[1:]) / (w1 + w2)
Loaded the case from  ../data11/system_aqua1_100_262d49e60c00735830979de1523f5d00.pkl
Loaded the case from  ../data11/system_aqua1_100_45ca83277be3e9a5971e1fa2d9ac5b00.pkl
Loaded the case from  ../data11/system_aqua1_100_149c09da3311ef9d24f5c64b18fd1b1d.pkl
Loaded the case from  ../data11/system_aqua1_100_ddc0526bcf3ef647915f89590fddf49a.pkl
Loaded the case from  ../data11/system_aqua1_100_5c73391993c5e1da1c590c58dd6d3459.pkl
Loaded the case from  ../data11/system_aqua1_100_5ce7666527ab3509ca6c6bfe5799f2d4.pkl
Loaded the case from  ../data11/system_aqua1_100_f430a1079eaddf114aab8afa74eabd87.pkl
Loaded the case from  ../data11/system_aqua1_100_59aa7fe7687bf60e9153231eff92b4a6.pkl
In [19]:
nbplayback('data12')
This trial contains no readme file.
Loaded the case from  ../data12/system_aqua1_100_90491be93aff6cd2b9d684382bb534f2.pkl
C:\Users\user1\Miniconda3\envs\openachp\lib\site-packages\scipy\interpolate\_cubic.py:147: RuntimeWarning: divide by zero encountered in true_divide
  mk = (y[1:] - y[:-1]) / hk
C:\Users\user1\Miniconda3\envs\openachp\lib\site-packages\scipy\interpolate\_cubic.py:165: RuntimeWarning: invalid value encountered in true_divide
  whmean = (w1/mk[:-1] + w2/mk[1:]) / (w1 + w2)
Loaded the case from  ../data12/system_aqua1_100_262d49e60c00735830979de1523f5d00.pkl
Loaded the case from  ../data12/system_aqua1_100_45ca83277be3e9a5971e1fa2d9ac5b00.pkl
Loaded the case from  ../data12/system_aqua1_100_149c09da3311ef9d24f5c64b18fd1b1d.pkl
Loaded the case from  ../data12/system_aqua1_100_ddc0526bcf3ef647915f89590fddf49a.pkl
Loaded the case from  ../data12/system_aqua1_100_5c73391993c5e1da1c590c58dd6d3459.pkl
Loaded the case from  ../data12/system_aqua1_100_5ce7666527ab3509ca6c6bfe5799f2d4.pkl
Loaded the case from  ../data12/system_aqua1_100_f430a1079eaddf114aab8afa74eabd87.pkl
Loaded the case from  ../data12/system_aqua1_100_59aa7fe7687bf60e9153231eff92b4a6.pkl
In [30]:
for key,val in aqua_case_studies2.trials.items():
    print(key,val.keys())
data dict_keys(['method', 'options', 'results'])
data2 dict_keys(['method', 'results'])
data3 dict_keys(['method', 'results'])
data4 dict_keys(['method', 'results'])
data5 dict_keys(['method', 'results'])
data6 dict_keys(['method', 'results'])
data7 dict_keys(['method', 'results'])
data8 dict_keys(['method', 'results'])
data9 dict_keys(['method', 'results'])
data10 dict_keys(['method', 'results'])
data11 dict_keys(['method', 'results'])
data12 dict_keys(['method', 'results'])
In [31]:
import matplotlib.pyplot as plt
import numpy
plt.figure(1)
plt.xlabel('Heat reject stream inlet temperature (${^\circ}C$)')
plt.ylabel('Optimal cooling capacity (kW)')
plt.figure(2)
plt.xlabel('Heat reject stream inlet temperature (${^\circ}C$)')
plt.ylabel('Optimal input - mass flow rate (C)')
plt.figure(3)
plt.xlabel('Heat reject stream inlet temperature (${^\circ}C$)')
plt.ylabel('Optimal input - temperature (C)')

plt.figure(4)
plt.xlabel('Heat reject stream inlet temperature (${^\circ}C$)')
plt.ylabel('Optimal input - heat exchanger UA (kW/K)')

labeling = True
labeliter = iter(['evap','cond','rect','abs','gen']+[None]*100)
labeliter2 = iter(['evap','cond','rect','abs','gen']+[None]*999)
for folder in aqua_case_studies2.trials:
    T, Q, list_xC, list_system_data = aqua_case_studies2.trials[folder]['results']
    a_xC = numpy.array(list_xC)
    m_rich, T_evap, T_cond, T_rect, T_abs_outlet, T_gen_outlet = a_xC.T
    
    # How to indicate correlation to objective for other variables?
    # Try this: offset temperatures.
    t_offset = numpy.array(Q) * 0.01
    
    plt.figure(1)
    plt.plot(T,Q, label=folder)
    
    plt.figure(2)
    plt.plot(T + t_offset,m_rich,'.')
    
    plt.figure(3)
    plt.plot(T + t_offset,T_evap - 273.15,'b.',label=next(labeliter))
    plt.plot(T + t_offset,T_cond - 273.15,'g.',label=next(labeliter))
    plt.plot(T + t_offset,T_rect - 273.15,'r.',label=next(labeliter))
    plt.plot(T + t_offset,T_abs_outlet - 273.15,'c.',label=next(labeliter))
    plt.plot(T + t_offset,T_gen_outlet - 273.15,'m.',label=next(labeliter))
    
    # We should try plotting the UA values, too.
    plt.figure(4)
    colors = dict(zip('evap cond rect abs gen'.split(),
                      'b g r c m'.split()))
    for (t, sys_data) in zip(T + t_offset, list_system_data):
        for name, deltaT, epsilon, UA, Qhx in sys_data:
            plt.plot(t, UA, colors[name] + '.')

plt.figure(3)
plt.plot(T,T,'k--')
plt.plot(T,numpy.ones_like(T)*(400-273.15),'k--')
plt.plot(T,numpy.ones_like(T)*(285-273.15),'k--')

plt.figure(1)
plt.legend(loc='best')
plt.figure(3)
plt.legend(loc='best')
plt.show()

Discussion

To critique the results: first, for optimal cooling capacity vs heat rejection source temperature, I would expect to see a monotonically decreasing trend, smoothness, and agreement between several of the optimization methods. However, the curves are generally jumpy and several have a drop at the lowest temperature. Admittedly, some of the results for the optimal cooling capacity vs heat rejection source temperature are "not too bad", as in having roughly the expected trend allowing for, say, 20% disparity (cases data, data3, data4, data5, and data6). Secondly, regarding convergence, we can discuss adherence to constraints and speed. Blank intervals on the convergence plots are used to indicate that the optimizer gave the model a non-feasible input. We can see that this happens rather frequently. For speed, many of the optimizers run at around 1000 iterations, which seems not too bad; however, each iteration takes about a second for the model to solve. So we either need a faster model solver or faster convergence in order to make a user-friendly tool that approximates a real-time response. Notably, the COBYLA method in data converges very quickly for some, but not all, of the inputs. A possible approach is to build a fast, approximate model to get an initial guess at the optimum design, then finish optimizing with the full accuracy model.

(Toward the goal of having the faster, approximate model, I started creating some classes to use UA-LMTD style equations; see class counterflowPoints in HRHX_integral_model.py at commit 4f2661c.)

I've added three plots showing the trends of "other variables" with respect to the heat reject temperature. When optimization is working, the point clouds should collapse. Since the reject temperatures are discrete, I have spread the clouds horizontally based on the corresponding output (cooling capacity) as if using a third axis. (Later, this could be a nice approach to visualizing sensitivity with respect to each variables.)

GenOpt trials

Note that these trials are single point optimization trials, unlike the parameter sweep studies above. (In order to run parametric studies with GenOpt, I would need to write some batch files to duplicate the input files and vary the chosen parameter.)

Setup for opt1

I ran these trials using the GPSHookeJeeves algorithm, set up in this way in command.txt. Temperatures are in Kelvin.

/* GenOpt command file */

Vary{
  Parameter{ Name = m_rich;       Min = 0.01; Ini = 0.1; Max = 1; Step = 0.01; }
  Parameter{ Name = T_evap;       Min = 273.65; Ini = 274.15; Max = 280.15; Step = 0.5; }
  Parameter{ Name = T_cond;       Min = 305.15; Ini = 312.15; Max = 333.15; Step = 0.5; }
  Parameter{ Name = T_rect;       Min = 305.15; Ini = 313.15; Max = 333.15; Step = 0.5; }
  Parameter{ Name = T_abs_outlet; Min = 305.15; Ini = 310.15; Max = 333.15; Step = 0.5; }
  Parameter{ Name = T_gen_outlet; Min = 303.65; Ini = 393.15; Max = 473.15; Step = 0.5; }
}

OptimizationSettings{
  MaxIte = 2000;
  MaxEqualResults = 100;
  WriteStepNumber = true;
}

Algorithm{
 Main = GPSHookeJeeves;
 MeshSizeDivider = 2;
 InitialMeshSizeExponent = 0;
 MeshSizeExponentIncrement = 1;
 NumberOfStepReduction = 4;
}

The problem was specified in xTemplate.txt. This indicates that inlets for heat source, heat rejection, and cooling streams are 400 K, 305 K (32 C), and 285 K, with the indicated mass flow rates.

{
"stepNumber":%stepNumber%,
"UAgoal":100.0,
"xB":[400.0,1.0, 305.0,3.0, 305.0,5.0, 285.0,4.0, 305.0,0.15],
"xC":[%m_rich%,
    %T_evap%,
    %T_cond%,
    %T_rect%,
    %T_abs_outlet%,
    %T_gen_outlet%]
}

Setup for trial opt2

In this trial I increased the step parameter for all input variables:

Vary{
  Parameter{ Name = m_rich;       Min = 0.01; Ini = 0.1; Max = 1; Step = 0.1; }
  Parameter{ Name = T_evap;       Min = 273.65; Ini = 274.15; Max = 280.15; Step = 5; }
  Parameter{ Name = T_cond;       Min = 305.15; Ini = 312.15; Max = 333.15; Step = 5; }
  Parameter{ Name = T_rect;       Min = 305.15; Ini = 313.15; Max = 333.15; Step = 5; }
  Parameter{ Name = T_abs_outlet; Min = 305.15; Ini = 310.15; Max = 333.15; Step = 5; }
  Parameter{ Name = T_gen_outlet; Min = 303.65; Ini = 393.15; Max = 473.15; Step = 5; }
}

The problem specification was otherwise identical to opt1.

Setup for trial opt3

Here I kept the setup from opt2 but increased the heat rejection temperatures from 305 K to 310 K.

{
"stepNumber":%stepNumber%,
"UAgoal":100.0,
"xB":[400.0,1.0, 310.0,3.0, 310.0,5.0, 285.0,4.0, 310.0,0.15],
"xC":[%m_rich%,
    %T_evap%,
    %T_cond%,
    %T_rect%,
    %T_abs_outlet%,
    %T_gen_outlet%]
}

Setup for trial opt4

In this trial I increased heat rejection temperature further, to 315 K, and also adjusted the lower bounds on some of the temperature variables, hoping for improved performance:

Vary{
  Parameter{ Name = m_rich;       Min = 0.01; Ini = 0.1; Max = 1; Step = 0.1; }
  Parameter{ Name = T_evap;       Min = 273.65; Ini = 274.15; Max = 280.15; Step = 5; }
  Parameter{ Name = T_cond;       Min = 315.15; Ini = 322.15; Max = 333.15; Step = 5; }
  Parameter{ Name = T_rect;       Min = 315.15; Ini = 323.15; Max = 333.15; Step = 5; }
  Parameter{ Name = T_abs_outlet; Min = 315.15; Ini = 320.15; Max = 333.15; Step = 5; }
  Parameter{ Name = T_gen_outlet; Min = 303.65; Ini = 393.15; Max = 473.15; Step = 5; }
}

Setup for trial opt5

Pending -- at the moment, opt5 appears only to be a template for the next trial.

Results with GenOpt

During trials, GenOpt stores data in several different locations.

  • Input variable: logs/<step number>x.log
  • Objective value: logs/<step number>f.log
  • Simulation text outputs (other computed values): logs/<step number>simlog.log

Anyway, here are the results for trial opt1.

In [32]:
from numpy import genfromtxt, dtype
from tabulate import tabulate
from IPython.display import HTML
import matplotlib.pyplot as plt

def linkit(html):
    import base64
    return HTML("<a href='data:text/html;base64,{}'>Click me</a>".format(
        base64.b64encode(bytes(html,encoding='utf-8')).decode()))

# Borrowed from http://blog.dornea.nu/2014/08/28/using-jquery-datatables-with-ipython/
# Fix:
#   - use https to match target protocol
#   - use format() instead of string substitute
#   - updated links, see datatables.net
#   - then it stopped working, see https://github.com/jupyter/notebook/issues/499
import uuid
def DataTable(html):
    """ Prints a table as JQuery DataTables """
    # Generate random container name
    id_container = uuid.uuid1()
    output = """
        <div id="datatable-container-{idc}">
            <!-- Per blog
            <link rel="stylesheet" type="text/css" href="http://ajax.aspnetcdn.com/ajax/jquery.dataTables/1.9.0/css/jquery.dataTables.css">
            <link rel="stylesheet" type="text/css" href="http://ajax.aspnetcdn.com/ajax/jquery.dataTables/1.9.0/css/jquery.dataTables_themeroller.css">
            <script type="text/javascript" charset="utf8" src="http://ajax.aspnetcdn.com/ajax/jquery.dataTables/1.9.0/jquery.dataTables.min.js"></script>
            -->
            <!-- Updated, per datatables CDN, via https
            <link rel="stylesheet" type="text/css" href="https://cdn.datatables.net/1.10.16/css/jquery.dataTables.css">
            <script type="text/javascript" charset="utf8" src="https://cdn.datatables.net/1.10.16/js/jquery.dataTables.js"></script>
            -->
            <!-- Revert to last working, per datatables CDN, via https -->
            <link rel="stylesheet" type="text/css" href="https://cdn.datatables.net/1.9.3/css/jquery.dataTables.css">
            <script type="text/javascript" charset="utf8" src="https://cdn.datatables.net/1.9.3/js/jquery.dataTables.js"></script>
            

            <script type="text/javascript">
                //$.getScript('https://cdn.datatables.net/1.10.16/js/jquery.dataTables.js');
                $('#datatable-container-{idc} table').dataTable();
                $(document).ready(function() {{
                        $('#datatable-container-{idc} table').dataTable();
                }});
            </script>
            <!-- Insert table below -->
            {html}
        </div>
    """.format(idc=id_container, html=html)
    return HTML(output)


def show_output_listing(filename, type='all'):
    if type == 'all':
        firstn = ("sim","main_i","sub_i","step")
    else:
        firstn = ("sim","main_i","step")

    nlines = 0
    for line in open(filename):
        nlines += 1

    names_data = genfromtxt(filename, skip_header=19, skip_footer=nlines-19, names=True, delimiter='\t',)
    the_dtype = dtype(names_data.dtype.descr + [('Message','U256')])
    data = genfromtxt(filename, dtype=the_dtype, skip_header=20, delimiter='\t', )

    style = "<style>th {transform: rotate(-90deg); transform-origin: left top 0;} thead.th { height: 300 px; display:block;}</style>Nothing<br/>"
    style = ""
    table_html = tabulate(data,firstn+the_dtype.names[len(firstn):],tablefmt='html')
    #display(HTML(style + table_html))
    #display(linkit(table_html))
    display(DataTable(table_html))

    plt.plot(data['Q_evap'])
    plt.ylabel('Q_evap (kW)')
    plt.xlabel('Simulation progress')
    plt.show()
    
    return data
In [33]:
data1 = show_output_listing('../opt1/OutputListingAll.txt');
sim main_i sub_i step objective Q_evap UA_gen UA_rect UA_abs UA_cond UA_evap deltaT_gen deltaT_rect deltaT_abs deltaT_cond deltaT_evap con1 con2 con3 con4 con5 mu sum_g_barrier m_rich T_evap T_cond T_rect T_abs_outlet T_gen_outletMessage
1 1 1 1 -131.14629.7736 2.8654 0.217054 5.12017 4.33837 2.63959 6.85017 7.75748 2.79014 5.96173 10.4314 0.1 38 1 80 83 3 33.7909 0.1 274.15 312.15 313.15 310.15 393.15Initial point.
2 2 1 1 -133.20932.7509 3.221660.241247 5.69541 4.82557 2.92794 6.85017 7.75749 2.79014 5.83484 10.2533 0.11 38 1 80 83 3 33.4859 0.11 274.15 312.15 313.15 310.15 393.15Cost reduced at m_rich+dm_rich.
3 2 2 1 -131.62433.4249 3.229380.244323 5.9648 4.93934 3.13366 6.8501 7.76149 2.59936 5.80557 9.71658 0.11 37.5 1 80 83 3 32.7331 0.11 274.65 312.15 313.15 310.15 393.15Cost not reduced at T_evap+dT_evap.
4 2 3 1 -134.82232.0783 3.213260.238069 5.44091 4.71274 2.74038 6.85018 7.75363 2.98918 5.864 10.791 0.11 38.5 1 80 83 3 34.248 0.11 273.65 312.15 313.15 310.15 393.15Cost reduced at T_evap-dT_evap.
5 2 4 1 -133.16331.6396 3.208550.260432 5.235 4.27465 2.69972 6.85008 6.59027 3.19861 6.38481 10.8173 0.11 39 0.5 80 83 3 33.841 0.11 273.65 312.65 313.15 310.15 393.15Cost not reduced at T_cond+dT_cond.
6 2 5 1 -134.01532.514 3.217590.232409 5.66081 5.21044 2.78086 6.85014 8.0916 2.78266 5.34439 10.7649 0.11 38 1.5 80 83 3 33.8337 0.11 273.65 311.65 313.15 310.15 393.15Cost not reduced at T_cond-dT_cond.
7 2 6 1 -137.36332.0783 3.213260.22439 5.44091 4.72428 2.74038 6.85018 8.60067 2.98918 5.864 10.791 0.11 38.5 1.5 79.5 83 3 35.095 0.11 273.65 312.15 313.65 310.15 393.15Cost reduced at T_rect+dT_rect.
8 2 7 1 -138.76 31.4907 3.2019 0.221895 4.92763 4.62754 2.68594 6.85009 8.59995 3.59107 5.88905 10.8262 0.11 38.5 1.5 79.5 82.5 3 35.7563 0.11 273.65 312.15 313.65 310.65 393.15Cost reduced at T_abs_outlet+dT_abs_outlet.
9 2 8 1 -137.18531.7934 3.324980.22426 5.01738 4.67733 2.71396 6.35019 8.59995 3.49607 5.87615 10.8081 0.11 38.5 1.5 80 83 3 35.1304 0.11 273.65 312.15 313.65 310.65 393.65Cost not reduced at T_gen_outlet+dT_gen_outlet.
10 2 9 1 -140.33731.1854 3.0876 0.219514 4.83929 4.57745 2.65772 7.3501 8.59995 3.68735 5.90206 10.8444 0.11 38.5 1.5 79 82 3 36.3839 0.11 273.65 312.15 313.65 310.65 392.65Cost reduced at T_gen_outlet-dT_gen_outlet.
10 2 10 1 -140.33731.1854 3.0876 0.219514 4.83929 4.57745 2.65772 7.3501 8.59995 3.68735 5.90206 10.8444 0.11 38.5 1.5 79 82 3 36.3839 0.11 273.65 312.15 313.65 310.65 392.65Global search reduced cost.
11 3 1 1 -146.88333.0438 3.308490.228039 4.7942 4.89132 2.83023 7.85017 9.14516 4.39495 5.82281 10.7333 0.12 38.5 2 78 81 3 37.9463 0.12 273.65 312.15 314.15 311.15 392.15Cost reduced at T_evap+dT_evap.
12 3 2 1 -148.60532.5554 3.300570.228086 4.63762 4.44869 2.78473 7.85008 9.10856 4.61624 6.34586 10.7625 0.12 39 1.5 78 81 3 38.6832 0.12 273.65 312.65 314.15 311.15 392.15Cost reduced at T_cond+dT_cond.
13 3 3 1 -150.19232.5554 3.300570.220608 4.63762 4.45516 2.78473 7.85008 9.63759 4.61624 6.34586 10.7625 0.12 39 2 77.5 81 3 39.2122 0.12 273.65 312.65 314.65 311.15 392.15Cost reduced at T_rect+dT_rect.
14 3 4 1 -151.60531.9168 3.284390.217906 4.282 4.3581 2.72541 7.85013 9.63815 5.23396 6.37302 10.8007 0.12 39 2 77.5 80.5 3 39.8959 0.12 273.65 312.65 314.65 311.65 392.15Cost reduced at T_abs_outlet+dT_abs_outlet.
15 3 5 1 -153.18231.5709 3.169350.215292 4.21009 4.30571 2.69337 8.35017 9.63815 5.3395 6.38773 10.8214 0.12 39 2 77 80 3 40.5369 0.12 273.65 312.65 314.65 311.65 391.65Cost reduced at T_gen_outlet-dT_gen_outlet.
15 3 6 1 -153.18231.5709 3.169350.215292 4.21009 4.30571 2.69337 8.35017 9.63815 5.3395 6.38773 10.8214 0.12 39 2 77 80 3 40.5369 0.12 273.65 312.65 314.65 311.65 391.65Global search reduced cost.
16 4 1 1 -165.51931.5092 3.217250.210585 3.73594 4.00602 2.68766 9.35008 10.5444 7.0591 6.89131 10.8251 0.13 39.5 2.5 75 78 3 44.6699 0.13 273.65 313.15 315.65 312.65 390.65Exploration base, Delta = 1.0.
17 4 2 1 -167.19833.933 3.540430.228657 4.05452 4.34807 2.91341 9.35008 10.5444 7.0591 6.7881 10.6801 0.14 39.5 2.5 75 78 3 44.4217 0.14 273.65 313.15 315.65 312.65 390.65Cost reduced at m_rich+dm_rich.
18 4 3 1 -165.53934.7887 3.563850.232495 4.20624 4.47183 3.12819 9.35014 10.5428 6.80801 6.7511 10.1314 0.14 39 2.5 75 78 3 43.5835 0.14 274.15 313.15 315.65 312.65 390.65Cost not reduced at T_evap+dT_evap.
19 4 4 1 -169.27433.3369 3.5242 0.226292 3.93519 3.98321 2.85761 9.35015 10.6244 7.30619 7.31585 10.7157 0.14 40 2 75 78 3 45.3123 0.14 273.65 313.65 315.65 312.65 390.65Cost reduced at T_cond+dT_cond.
20 4 5 1 -170.50833.3369 3.5242 0.221105 3.93519 3.98775 2.85761 9.35015 11.0358 7.30619 7.31585 10.7157 0.14 40 2.5 74.5 78 3 45.7237 0.14 273.65 313.65 316.15 312.65 390.65Cost reduced at T_rect+dT_rect.
21 4 6 1 -171.93 32.594 3.4976 0.217787 3.68429 3.89016 2.78833 9.35016 11.0372 7.95047 7.34741 10.7602 0.14 40 2.5 74.5 77.5 3 46.4454 0.14 273.65 313.65 316.15 313.15 390.65Cost reduced at T_abs_outlet+dT_abs_outlet.
22 4 7 1 -173.49932.1646 3.372940.214605 3.62148 3.83397 2.74841 9.85008 11.0372 8.07262 7.36564 10.7858 0.14 40 2.5 74 77 3 47.1114 0.14 273.65 313.65 316.15 313.15 390.15Cost reduced at T_gen_outlet-dT_gen_outlet.
22 4 8 1 -173.49932.1646 3.372940.214605 3.62148 3.83397 2.74841 9.85008 11.0372 8.07262 7.36564 10.7858 0.14 40 2.5 74 77 3 47.1114 0.14 273.65 313.65 316.15 313.15 390.15Global search reduced cost.
23 5 1 1 -189.11131.0144 3.442150.204707 3.45062 3.29754 2.64199 11.3501 12.4376 9.64993 8.40659 10.8547 0.16 41 3 71 74 3 52.6989 0.16 273.65 314.65 317.65 314.65 388.65Exploration base, Delta = 1.0.
24 5 2 1 -190.45332.9528 3.7339 0.218955 3.68975 3.5218 2.8218 11.3501 12.4376 9.64993 8.32375 10.7387 0.17 41 3 71 74 3 52.5001 0.17 273.65 314.65 317.65 314.65 388.65Cost reduced at m_rich+dm_rich.
25 5 3 1 -189.90234.2737 3.779370.224051 3.74483 3.6442 3.07737 11.3501 12.4351 9.64994 8.27884 10.1622 0.17 40.5 3 71 74 3 51.8762 0.17 274.15 314.65 317.65 314.65 388.65Cost not reduced at T_evap+dT_evap.
26 5 4 1 -191.88532.454 3.699030.215319 3.65571 3.24301 2.77532 11.3501 12.5163 9.64993 8.85887 10.7685 0.17 41.5 2.5 71 74 3 53.1437 0.17 273.65 315.15 317.65 314.65 388.65Cost reduced at T_cond+dT_cond.
27 5 5 1 -193.12132.454 3.699030.210977 3.65571 3.24686 2.77532 11.3501 12.9281 9.64993 8.85887 10.7685 0.17 41.5 3 70.5 74 3 53.5555 0.17 273.65 315.15 318.15 314.65 388.65Cost reduced at T_rect+dT_rect.
28 5 6 1 -194.00231.5524 3.651660.206584 3.4768 3.14956 2.69168 11.3501 12.9303 10.1499 8.89703 10.8225 0.17 41.5 3 70.5 73.5 3 54.1498 0.17 273.65 315.15 318.15 315.15 388.65Cost reduced at T_abs_outlet+dT_abs_outlet.
29 5 7 1 -195.10730.9833 3.509 0.202465 3.44451 3.08838 2.6391 11.8501 12.9303 10.1499 8.9211 10.8565 0.17 41.5 3 70 73 3 54.708 0.17 273.65 315.15 318.15 315.15 388.15Cost reduced at T_gen_outlet-dT_gen_outlet.
29 5 8 1 -195.10730.9833 3.509 0.202465 3.44451 3.08838 2.6391 11.8501 12.9303 10.1499 8.9211 10.8565 0.17 41.5 3 70 73 3 54.708 0.17 273.65 315.15 318.15 315.15 388.15Global search reduced cost.
30 6 1 1 -214.19426.5184 3.271920.169626 3.08032 2.25636 2.2322 13.8501 14.821 12.15 10.6137 11.1236 0.2 43 3.5 66 69 3 62.5584 0.2 273.65 316.65 320.15 317.15 386.15Exploration base, Delta = 1.0.
31 6 2 1 -215.11527.8443 3.4953 0.17891 3.2506 2.37577 2.35201 13.8501 14.821 12.15 10.5582 11.0443 0.21 43 3.5 66 69 3 62.4235 0.21 273.65 316.65 320.15 317.15 386.15Cost reduced at m_rich+dm_rich.
32 6 3 1 -214.51629.1553 3.582340.185949 3.32254 2.49536 2.58038 13.8501 14.8156 12.15 10.5027 10.4684 0.21 42.5 3.5 66 69 3 61.7868 0.21 274.15 316.65 320.15 317.15 386.15Cost not reduced at T_evap+dT_evap.
33 6 4 1 -216.13126.8003 3.422210.173191 3.19754 2.1786 2.2576 13.8501 14.8993 12.15 11.104 11.1068 0.21 43.5 3 66 69 3 63.1101 0.21 273.65 317.15 320.15 317.15 386.15Cost reduced at T_cond+dT_cond.
34 6 5 1 -217.36226.8003 3.422210.170194 3.19754 2.18134 2.2576 13.8501 15.3099 12.15 11.104 11.1068 0.21 43.5 3.5 65.5 69 3 63.5207 0.21 273.65 317.15 320.65 317.15 386.15Cost reduced at T_rect+dT_rect.
35 6 6 1 -218.08825.682 3.337770.164155 3.02939 2.08567 2.15707 13.8501 15.3111 12.65 11.1507 11.1737 0.21 43.5 3.5 65.5 68.5 3 64.1355 0.21 273.65 317.15 320.65 317.65 386.15Cost reduced at T_abs_outlet+dT_abs_outlet.
36 6 7 1 -219.04 24.8926 3.175650.158686 2.98049 2.01839 2.08646 14.3501 15.3111 12.65 11.1837 11.2209 0.21 43.5 3.5 65 68 3 64.7157 0.21 273.65 317.15 320.65 317.65 385.65Cost reduced at T_gen_outlet-dT_gen_outlet.
36 6 8 1 -219.04 24.8926 3.175650.158686 2.98049 2.01839 2.08646 14.3501 15.3111 12.65 11.1837 11.2209 0.21 43.5 3.5 65 68 3 64.7157 0.21 273.65 317.15 320.65 317.65 385.65Global search reduced cost.
37 7 1 1 -238.65812.6194 2.077430.0778371 2.12014 0.852864 1.02529 16.8501 17.6989 15.15 13.6923 11.9551 0.25 45.5 4 60 63 3 75.3464 0.25 273.65 319.15 323.15 320.15 383.15Exploration base, Delta = 1.0.
38 7 2 1 -239.01213.1241 2.179560.0810843 2.21171 0.887707 1.06763 16.8501 17.6989 15.15 13.672 11.9249 0.26 45.5 4 60 63 3 75.2958 0.26 273.65 319.15 323.15 320.15 383.15Cost reduced at m_rich+dm_rich.
39 7 3 1 -238.66814.7848 2.321810.0907713 2.31049 1.00307 1.25891 16.8501 17.695 15.15 13.6044 11.3281 0.26 45 4 60 63 3 74.6276 0.26 274.15 319.15 323.15 320.15 383.15Cost not reduced at T_evap+dT_evap.
40 7 4 1 -239.73211.6685 2.051410.0723823 2.12654 0.758175 0.94581 16.8501 17.779 15.15 14.2304 12.012 0.26 46 3.5 60 63 3 76.0213 0.26 273.65 319.65 323.15 320.15 383.15Cost reduced at T_cond+dT_cond.
41 7 5 1 -240.96 11.6685 2.051410.0713392 2.12654 0.759184 0.94581 16.8501 18.1881 15.15 14.2304 12.012 0.26 46 4 59.5 63 3 76.4305 0.26 273.65 319.65 323.65 320.15 383.15Cost reduced at T_rect+dT_rect.
42 7 6 1 -241.26810.2686 1.922040.0631286 1.97346 0.666647 0.829483 16.7766 18.1915 15.65 14.2861 12.0957 0.26 46 4 59.5 62.5 3 76.9999 0.26 273.65 319.65 323.65 320.65 383.15Cost reduced at T_abs_outlet+dT_abs_outlet.
43 7 7 1 -241.902 9.13375 1.765920.0559454 1.89671 0.591926 0.735768 17.2535 18.1915 15.65 14.331 12.1636 0.26 46 4 59 62 3 77.5896 0.26 273.65 319.65 323.65 320.65 382.65Cost reduced at T_gen_outlet-dT_gen_outlet.
43 7 8 1 -241.902 9.13375 1.765920.0559454 1.89671 0.591926 0.735768 17.2535 18.1915 15.65 14.331 12.1636 0.26 46 4 59 62 3 77.5896 0.26 273.65 319.65 323.65 320.65 382.65Global search reduced cost.
In [34]:
show_output_listing('../opt2/OutputListingAll.txt');
sim main_i sub_i step objective Q_evap barrier_and_penalty barrier penalty mu1 mu2 m_rich T_evap T_cond T_rect T_abs_outlet T_gen_outletMessage
1 1 1 1 -265.565 29.7736 -235.791 -235.791 0 1 1 0.1 274.15 312.15 313.15 310.15 393.15 Initial point.
2 2 1 1 -292.277 59.5472 -232.73 -232.73 0 1 1 0.2 274.15 312.15 313.15 310.15 393.15 Cost reduced at m_rich+dm_rich.
3 2 2 1 -292.344 72.0764 -220.268 -220.268 0 1 1 0.2 279.15 312.15 313.15 310.15 393.15 Cost reduced at T_evap+dT_evap.
4 2 3 1 1 -1 0 0 0 1 1 0.2 279.15 317.15 313.15 310.15 393.15 Cost not reduced at T_cond+dT_cond.
5 2 4 1 1 -1 0 0 0 1 1 0.2 279.15 307.15 313.15 310.15 393.15 Cost not reduced at T_cond-dT_cond.
6 2 5 1 -296.979 72.0764 -224.903 -224.903 0 1 1 0.2 279.15 312.15 318.15 310.15 393.15 Cost reduced at T_rect+dT_rect.
7 2 6 1 -287.316 60.9919 -226.324 -226.324 0 1 1 0.2 279.15 312.15 318.15 315.15 393.15 Cost not reduced at T_abs_outlet+dT_abs_outlet.
8 2 7 1 1 -1 0 0 0 1 1 0.2 279.15 312.15 318.15 305.15 393.15 Cost not reduced at T_abs_outlet-dT_abs_outlet.
9 2 8 1 -305.815 76.9086 -228.906 -228.906 0 1 1 0.2 279.15 312.15 318.15 310.15 398.15 Cost reduced at T_gen_outlet+dT_gen_outlet.
9 2 9 1 -305.815 76.9086 -228.906 -228.906 0 1 1 0.2 279.15 312.15 318.15 310.15 398.15 Global search reduced cost.
10 3 1 1 1 -1 0 0 0 1 1 0.3 279.15 312.15 323.15 310.15 403.15 Cost reduced at T_evap-dT_evap.
11 3 2 1 1 -1 0 0 0 1 1 0.3 279.15 317.15 323.15 310.15 403.15 Cost not reduced at T_cond+dT_cond.
12 3 3 1 1 -1 0 0 0 1 1 0.3 279.15 307.15 323.15 310.15 403.15 Cost not reduced at T_cond-dT_cond.
13 3 4 1 1 -1 0 0 0 1 1 0.3 279.15 312.15 328.15 310.15 403.15 Cost not reduced at T_rect+dT_rect.
14 3 5 1 1 -1 0 0 0 1 1 0.3 279.15 312.15 318.15 310.15 403.15 Cost not reduced at T_rect-dT_rect.
15 3 6 1 1 -1 0 0 0 1 1 0.3 279.15 312.15 323.15 315.15 403.15 Cost not reduced at T_abs_outlet+dT_abs_outlet.
16 3 7 1 1 -1 0 0 0 1 1 0.3 279.15 312.15 323.15 305.15 403.15 Cost not reduced at T_abs_outlet-dT_abs_outlet.
17 3 8 1 1 -1 0 0 0 1 1 0.3 279.15 312.15 323.15 310.15 408.15 Cost not reduced at T_gen_outlet+dT_gen_outlet.
18 3 9 1 3088.28 115.363 3203.64 -229.2563432.9 1 1 0.3 279.15 312.15 323.15 310.15 398.15 Cost not reduced at T_gen_outlet-dT_gen_outlet.
19 3 10 1 3095.45 115.363 3210.82 -224.92 3435.74 1 1 0.3 279.15 312.15 318.15 310.15 398.15 Cost not reduced at m_rich+dm_rich.
20 3 11 1 -271.329 38.4543 -232.874 -232.874 0 1 1 0.1 279.15 312.15 318.15 310.15 398.15 Cost not reduced at m_rich-dm_rich.
21 3 12 1 -305.836 64.7795 -241.057 -241.057 0 1 1 0.2 274.15 312.15 318.15 310.15 398.15 Cost reduced at T_evap-dT_evap.
22 3 13 1 -306.357 57.0648 -249.292 -249.292 0 1 1 0.2 274.15 317.15 318.15 310.15 398.15 Cost reduced at T_cond+dT_cond.
23 3 14 1 -310.776 57.0648 -253.712 -253.712 0 1 1 0.2 274.15 317.15 323.15 310.15 398.15 Cost reduced at T_rect+dT_rect.
24 3 15 1 -302.679 46.6383 -256.041 -256.041 0 1 1 0.2 274.15 317.15 323.15 315.15 398.15 Cost not reduced at T_abs_outlet+dT_abs_outlet.
25 3 16 1 1 -1 0 0 0 1 1 0.2 274.15 317.15 323.15 305.15 398.15 Cost not reduced at T_abs_outlet-dT_abs_outlet.
26 3 17 1 1 -1 0 0 0 1 1 0.2 274.15 317.15 323.15 310.15 403.15 Cost not reduced at T_gen_outlet+dT_gen_outlet.
27 3 18 1 -301.688 51.3514 -250.336 -250.336 0 1 1 0.2 274.15 317.15 323.15 310.15 393.15 Cost not reduced at T_gen_outlet-dT_gen_outlet.
23 3 19 1 -310.776 57.0648 -253.712 -253.712 0 1 1 0.2 274.15 317.15 323.15 310.15 398.15 Local search reduced cost.
28 4 1 1 -314.34 48.787 -265.553 -265.553 0 1 1 0.2 274.15 322.15 328.15 310.15 398.15 Cost reduced at T_evap+dT_evap.
29 4 2 1 -312.414 39.8271 -272.587 -272.587 0 1 1 0.2 274.15 327.15 328.15 310.15 398.15 Cost not reduced at T_cond+dT_cond.
30 4 3 1 -315.015 57.0648 -257.95 -257.95 0 1 1 0.2 274.15 317.15 328.15 310.15 398.15 Cost reduced at T_cond-dT_cond.
31 4 4 1 -319.168 57.0648 -262.103 -262.103 0 1 1 0.2 274.15 317.15 333.15 310.15 398.15 Cost reduced at T_rect+dT_rect.
32 4 5 1 -311.023 46.6383 -264.385 -264.385 0 1 1 0.2 274.15 317.15 333.15 315.15 398.15 Cost not reduced at T_abs_outlet+dT_abs_outlet.
33 4 6 1 1 -1 0 0 0 1 1 0.2 274.15 317.15 333.15 305.15 398.15 Cost not reduced at T_abs_outlet-dT_abs_outlet.
34 4 7 1 1 -1 0 0 0 1 1 0.2 274.15 317.15 333.15 310.15 403.15 Cost not reduced at T_gen_outlet+dT_gen_outlet.
35 4 8 1 -310.08 51.3514 -258.728 -258.728 0 1 1 0.2 274.15 317.15 333.15 310.15 393.15 Cost not reduced at T_gen_outlet-dT_gen_outlet.
31 4 9 1 -319.168 57.0648 -262.103 -262.103 0 1 1 0.2 274.15 317.15 333.15 310.15 398.15 Global search reduced cost.
36 5 1 1 -344.768 85.5972 -259.171 -259.171 0 1 1 0.3 274.15 317.15 333.15 310.15 398.15 Cost reduced at m_rich+dm_rich.
37 5 2 1 -298.706 104.393 -194.313 -245.692 51.3786 1 1 0.3 279.15 317.15 333.15 310.15 398.15 Cost not reduced at T_evap+dT_evap.
38 5 3 1 -347.34 97.1693 -250.171 -250.171 0 1 1 0.3 274.15 312.15 333.15 310.15 398.15 Cost reduced at T_cond-dT_cond.
39 5 4 1 -343.355 97.1693 -246.185 -246.185 0 1 1 0.3 274.15 312.15 328.15 310.15 398.15 Cost not reduced at T_rect-dT_rect.
40 5 5 1 -334.634 81.9735 -252.661 -252.661 0 1 1 0.3 274.15 312.15 333.15 315.15 398.15 Cost not reduced at T_abs_outlet+dT_abs_outlet.
41 5 6 1 1 -1 0 0 0 1 1 0.3 274.15 312.15 333.15 305.15 398.15 Cost not reduced at T_abs_outlet-dT_abs_outlet.
42 5 7 1 1 -1 0 0 0 1 1 0.3 274.15 312.15 333.15 310.15 403.15 Cost not reduced at T_gen_outlet+dT_gen_outlet.
43 5 8 1 -336.153 89.3208 -246.832 -246.832 0 1 1 0.3 274.15 312.15 333.15 310.15 393.15 Cost not reduced at T_gen_outlet-dT_gen_outlet.
38 5 9 1 -347.34 97.1693 -250.171 -250.171 0 1 1 0.3 274.15 312.15 333.15 310.15 398.15 Local search reduced cost.
44 6 1 1 1 -1 0 0 0 1 1 0.4 274.15 307.15 333.15 310.15 398.15 Exploration base, Delta = 1.0.
45 6 2 1 1 -1 0 0 0 1 1 0.5 274.15 307.15 333.15 310.15 398.15 Cost not reduced at m_rich+dm_rich.
46 6 3 1 1 -1 0 0 0 1 1 0.3 274.15 307.15 333.15 310.15 398.15 Cost not reduced at m_rich-dm_rich.
47 6 4 1 1 -1 0 0 0 1 1 0.4 279.15 307.15 333.15 310.15 398.15 Cost not reduced at T_evap+dT_evap.
48 6 5 1 1 -1 0 0 0 1 1 0.4 274.15 312.15 333.15 310.15 398.15 Cost not reduced at T_cond+dT_cond.
49 6 6 1 1 -1 0 0 0 1 1 0.4 274.15 307.15 328.15 310.15 398.15 Cost not reduced at T_rect-dT_rect.
50 6 7 1 1 -1 0 0 0 1 1 0.4 274.15 307.15 333.15 315.15 398.15 Cost not reduced at T_abs_outlet+dT_abs_outlet.
51 6 8 1 1 -1 0 0 0 1 1 0.4 274.15 307.15 333.15 305.15 398.15 Cost not reduced at T_abs_outlet-dT_abs_outlet.
52 6 9 1 1 -1 0 0 0 1 1 0.4 274.15 307.15 333.15 310.15 403.15 Cost not reduced at T_gen_outlet+dT_gen_outlet.
53 6 10 1 1 -1 0 0 0 1 1 0.4 274.15 307.15 333.15 310.15 393.15 Cost not reduced at T_gen_outlet-dT_gen_outlet.
53 6 11 1 1 -1 0 0 0 1 1 0.4 274.15 312.15 333.15 310.15 398.15 Cost not reduced at m_rich+dm_rich.
54 6 12 1 -318.298 64.7795 -253.518 -253.518 0 1 1 0.2 274.15 312.15 333.15 310.15 398.15 Cost not reduced at m_rich-dm_rich.
55 6 13 1 3074.51 115.363 3189.87 -237.4143427.29 1 1 0.3 279.15 312.15 333.15 310.15 398.15 Cost not reduced at T_evap+dT_evap.
55 6 14 1 1 -1 0 0 0 1 1 0.3 274.15 307.15 333.15 310.15 398.15 Cost not reduced at T_cond-dT_cond.
55 6 15 1 -344.768 85.5972 -259.171 -259.171 0 1 1 0.3 274.15 317.15 333.15 310.15 398.15 Cost not reduced at T_cond+dT_cond.
55 6 16 1 -343.355 97.1693 -246.185 -246.185 0 1 1 0.3 274.15 312.15 328.15 310.15 398.15 Cost not reduced at T_rect-dT_rect.
55 6 17 1 -334.634 81.9735 -252.661 -252.661 0 1 1 0.3 274.15 312.15 333.15 315.15 398.15 Cost not reduced at T_abs_outlet+dT_abs_outlet.
55 6 18 1 1 -1 0 0 0 1 1 0.3 274.15 312.15 333.15 305.15 398.15 Cost not reduced at T_abs_outlet-dT_abs_outlet.
55 6 19 1 1 -1 0 0 0 1 1 0.3 274.15 312.15 333.15 310.15 403.15 Cost not reduced at T_gen_outlet+dT_gen_outlet.
55 6 20 1 -336.153 89.3208 -246.832 -246.832 0 1 1 0.3 274.15 312.15 333.15 310.15 393.15 Cost not reduced at T_gen_outlet-dT_gen_outlet.
38 6 21 1 -347.34 97.1693 -250.171 -250.171 0 1 1 0.3 274.15 312.15 333.15 310.15 398.15 Iteration step did not reduce cost. Reduce step size to '0.5'.
56 1 1 2 -159.712 97.1693 -62.5428 -250.171 0 0.25 4 0.3 274.15 312.15 333.15 310.15 398.15 Iteration step did not reduce cost. Reduce step size to '0.5'.
56 2 1 2 -159.712 97.1693 -62.5428 -250.171 0 0.25 4 0.3 274.15 312.15 333.15 310.15 398.15 Exploration base, Delta = 0.5.
57 2 2 2 1 -1 0 0 0 0.25 4 0.35 274.15 312.15 333.15 310.15 398.15 Cost not reduced at m_rich+dm_rich.
58 2 3 2 -143.936 80.9744 -62.9615 -251.846 0 0.25 4 0.25 274.15 312.15 333.15 310.15 398.15 Cost not reduced at m_rich-dm_rich.
59 2 4 2 300.744 106.149 406.894 -243.564 116.946 0.25 4 0.3 276.65 312.15 333.15 310.15 398.15 Cost not reduced at T_evap+dT_evap.
60 2 5 2 12465.2 102.684 12567.9 -245.7463157.33 0.25 4 0.3 274.15 309.65 333.15 310.15 398.15 Cost not reduced at T_cond-dT_cond.
61 2 6 2 -155.14 91.4797 -63.6608 -254.643 0 0.25 4 0.3 274.15 314.65 333.15 310.15 398.15 Cost not reduced at T_cond+dT_cond.
62 2 7 2 -159.221 97.1693 -62.0515 -248.206 0 0.25 4 0.3 274.15 312.15 330.65 310.15 398.15 Cost not reduced at T_rect-dT_rect.
63 2 8 2 -152.299 89.4531 -62.8463 -251.385 0 0.25 4 0.3 274.15 312.15 333.15 312.65 398.15 Cost not reduced at T_abs_outlet+dT_abs_outlet.
64 2 9 2 1 -1 0 0 0 0.25 4 0.3 274.15 312.15 333.15 307.65 398.15 Cost not reduced at T_abs_outlet-dT_abs_outlet.
65 2 10 2 1 -1 0 0 0 0.25 4 0.3 274.15 312.15 333.15 310.15 400.65 Cost not reduced at T_gen_outlet+dT_gen_outlet.
66 2 11 2 -155.446 93.326 -62.1199 -248.479 0 0.25 4 0.3 274.15 312.15 333.15 310.15 395.65 Cost not reduced at T_gen_outlet-dT_gen_outlet.
66 2 12 2 1 -1 0 0 0 0.25 4 0.35 274.15 312.15 333.15 310.15 398.15 Cost not reduced at m_rich+dm_rich.
66 2 13 2 -143.936 80.9744 -62.9615 -251.846 0 0.25 4 0.25 274.15 312.15 333.15 310.15 398.15 Cost not reduced at m_rich-dm_rich.
66 2 14 2 300.744 106.149 406.894 -243.564 116.946 0.25 4 0.3 276.65 312.15 333.15 310.15 398.15 Cost not reduced at T_evap+dT_evap.
66 2 15 2 12465.2 102.684 12567.9 -245.7463157.33 0.25 4 0.3 274.15 309.65 333.15 310.15 398.15 Cost not reduced at T_cond-dT_cond.
66 2 16 2 -155.14 91.4797 -63.6608 -254.643 0 0.25 4 0.3 274.15 314.65 333.15 310.15 398.15 Cost not reduced at T_cond+dT_cond.
66 2 17 2 -159.221 97.1693 -62.0515 -248.206 0 0.25 4 0.3 274.15 312.15 330.65 310.15 398.15 Cost not reduced at T_rect-dT_rect.
66 2 18 2 -152.299 89.4531 -62.8463 -251.385 0 0.25 4 0.3 274.15 312.15 333.15 312.65 398.15 Cost not reduced at T_abs_outlet+dT_abs_outlet.
66 2 19 2 1 -1 0 0 0 0.25 4 0.3 274.15 312.15 333.15 307.65 398.15 Cost not reduced at T_abs_outlet-dT_abs_outlet.
66 2 20 2 1 -1 0 0 0 0.25 4 0.3 274.15 312.15 333.15 310.15 400.65 Cost not reduced at T_gen_outlet+dT_gen_outlet.
66 2 21 2 -155.446 93.326 -62.1199 -248.479 0 0.25 4 0.3 274.15 312.15 333.15 310.15 395.65 Cost not reduced at T_gen_outlet-dT_gen_outlet.
56 2 22 2 -159.712 97.1693 -62.5428 -250.171 0 0.25 4 0.3 274.15 312.15 333.15 310.15 398.15 Iteration step did not reduce cost. Reduce step size to '0.25'.
67 1 1 3 -124.966 97.1693 -27.7968 -250.171 0 0.111111 9 0.3 274.15 312.15 333.15 310.15 398.15 Iteration step did not reduce cost. Reduce step size to '0.25'.
67 2 1 3 -124.966 97.1693 -27.7968 -250.171 0 0.111111 9 0.3 274.15 312.15 333.15 310.15 398.15 Exploration base, Delta = 0.25.
68 2 2 3 4135.23 105.267 4240.5 -249.333 474.245 0.111111 9 0.325 274.15 312.15 333.15 310.15 398.15 Cost not reduced at m_rich+dm_rich.
69 2 3 3 -116.962 89.0718 -27.8899 -251.009 0 0.111111 9 0.275 274.15 312.15 333.15 310.15 398.15 Cost not reduced at m_rich-dm_rich.
70 2 4 3 -125.788 101.633 -24.1544 -246.828 0.3634330.111111 9 0.3 275.4 312.15 333.15 310.15 398.15 Cost reduced at T_evap+dT_evap.
71 2 5 3 2551.25 104.375 2655.63 -244.647 298.09 0.111111 9 0.3 275.4 310.9 333.15 310.15 398.15 Cost not reduced at T_cond-dT_cond.
72 2 6 3 -126.516 98.847 -27.6692 -249.023 0 0.111111 9 0.3 275.4 313.4 333.15 310.15 398.15 Cost reduced at T_cond+dT_cond.
73 2 7 3 -126.407 98.847 -27.5596 -248.036 0 0.111111 9 0.3 275.4 313.4 331.9 310.15 398.15 Cost not reduced at T_rect-dT_rect.
74 2 8 3 -122.606 94.8717 -27.7347 -249.612 0 0.111111 9 0.3 275.4 313.4 333.15 311.4 398.15 Cost not reduced at T_abs_outlet+dT_abs_outlet.
75 2 9 3 1201.08 102.894 1303.97 -248.47 147.953 0.111111 9 0.3 275.4 313.4 333.15 308.9 398.15 Cost not reduced at T_abs_outlet-dT_abs_outlet.
76 2 10 3 980.954 100.714 1081.67 -249.892 123.27 0.111111 9 0.3 275.4 313.4 333.15 310.15 399.4 Cost not reduced at T_gen_outlet+dT_gen_outlet.
77 2 11 3 -124.515 96.9411 -27.5738 -248.164 0 0.111111 9 0.3 275.4 313.4 333.15 310.15 396.9 Cost not reduced at T_gen_outlet-dT_gen_outlet.
72 2 12 3 -126.516 98.847 -27.6692 -249.023 0 0.111111 9 0.3 275.4 313.4 333.15 310.15 398.15 Global search reduced cost.
78 3 1 3 -128.147 100.605 -27.5423 -247.881 0 0.111111 9 0.3 276.65 314.65 333.15 310.15 398.15 Exploration base, Delta = 0.25.
79 3 2 3 4509.5 108.988 4618.49 -246.471 516.208 0.111111 9 0.325 276.65 314.65 333.15 310.15 398.15 Cost not reduced at m_rich+dm_rich.
80 3 3 3 -119.86 92.221 -27.6386 -248.748 0 0.111111 9 0.275 276.65 314.65 333.15 310.15 398.15 Cost not reduced at m_rich-dm_rich.
81 3 4 3 -59.4747105.254 45.7791 -244.631 8.1067 0.111111 9 0.3 277.9 314.65 333.15 310.15 398.15 Cost not reduced at T_evap+dT_evap.
82 3 5 3 -123.93 96.0153 -27.9143 -251.229 0 0.111111 9 0.3 275.4 314.65 333.15 310.15 398.15 Cost not reduced at T_evap-dT_evap.
83 3 6 3 -125.548 97.7631 -27.7846 -250.061 0 0.111111 9 0.3 276.65 315.9 333.15 310.15 398.15 Cost not reduced at T_cond+dT_cond.
84 3 7 3 -130.701 103.399 -27.3018 -245.716 0 0.111111 9 0.3 276.65 313.4 333.15 310.15 398.15 Cost reduced at T_cond-dT_cond.
85 3 8 3 -130.592 103.399 -27.1922 -244.73 0 0.111111 9 0.3 276.65 313.4 331.9 310.15 398.15 Cost not reduced at T_rect-dT_rect.
86 3 9 3 -126.722 99.3614 -27.3611 -246.25 0 0.111111 9 0.3 276.65 313.4 333.15 311.4 398.15 Cost not reduced at T_abs_outlet+dT_abs_outlet.
87 3 10 3 9580.9 107.515 9688.41 -245.24 1079.52 0.111111 9 0.3 276.65 313.4 333.15 308.9 398.15 Cost not reduced at T_abs_outlet-dT_abs_outlet.
88 3 11 3 2968.66 105.231 3073.89 -246.609 344.588 0.111111 9 0.3 276.65 313.4 333.15 310.15 399.4 Cost not reduced at T_gen_outlet+dT_gen_outlet.
89 3 12 3 -128.734 101.53 -27.2038 -244.834 0 0.111111 9 0.3 276.65 313.4 333.15 310.15 396.9 Cost not reduced at T_gen_outlet-dT_gen_outlet.
84 3 13 3 -130.701 103.399 -27.3018 -245.716 0 0.111111 9 0.3 276.65 313.4 333.15 310.15 398.15 Global search reduced cost.
90 4 1 3 1124.49 108.011 1232.5 -242.515 139.938 0.111111 9 0.3 277.9 313.4 333.15 310.15 398.15 Exploration base, Delta = 0.25.
91 4 2 3 16670.4 117.012 16787.4 -241.5821868.25 0.111111 9 0.325 277.9 313.4 333.15 310.15 398.15 Cost not reduced at m_rich+dm_rich.
92 4 3 3 -126.06 99.0101 -27.0497 -243.447 0 0.111111 9 0.275 277.9 313.4 333.15 310.15 398.15 Cost reduced at m_rich-dm_rich.
93 4 4 3 570.458 103.297 673.755 -240.433 77.83 0.111111 9 0.275 279.15 313.4 333.15 310.15 398.15 Cost not reduced at T_evap+dT_evap.
94 4 5 3 -122.184 94.7829 -27.4009 -246.608 0 0.111111 9 0.275 276.65 313.4 333.15 310.15 398.15 Cost not reduced at T_evap-dT_evap.
95 4 6 3 -18.7374101.497 82.7596 -241.369 12.1754 0.111111 9 0.275 277.9 312.15 333.15 310.15 398.15 Cost not reduced at T_cond-dT_cond.
96 4 7 3 -123.765 96.4826 -27.282 -245.538 0 0.111111 9 0.275 277.9 314.65 333.15 310.15 398.15 Cost not reduced at T_cond+dT_cond.
97 4 8 3 -125.95 99.0101 -26.9401 -242.461 0 0.111111 9 0.275 277.9 313.4 331.9 310.15 398.15 Cost not reduced at T_rect-dT_rect.
98 4 9 3 -122.342 95.246 -27.0959 -243.863 0 0.111111 9 0.275 277.9 313.4 333.15 311.4 398.15 Cost not reduced at T_abs_outlet+dT_abs_outlet.
99 4 10 3 9821.7 102.85 9924.55 -243.1161105.73 0.111111 9 0.275 277.9 313.4 333.15 308.9 398.15 Cost not reduced at T_abs_outlet-dT_abs_outlet.
100 4 11 3 148.553 100.655 249.209 -244.382 30.7069 0.111111 9 0.275 277.9 313.4 333.15 310.15 399.4 Cost not reduced at T_gen_outlet+dT_gen_outlet.
101 4 12 3 -124.278 97.331 -26.947 -242.523 0 0.111111 9 0.275 277.9 313.4 333.15 310.15 396.9 Cost not reduced at T_gen_outlet-dT_gen_outlet.
101 4 13 3 -122.184 94.7829 -27.4009 -246.608 0 0.111111 9 0.275 276.65 313.4 333.15 310.15 398.15 Cost not reduced at m_rich-dm_rich.
102 4 14 3 7387.84 112.016 7499.86 -244.824 836.34 0.111111 9 0.325 276.65 313.4 333.15 310.15 398.15 Cost not reduced at m_rich+dm_rich.
102 4 15 3 1124.49 108.011 1232.5 -242.515 139.938 0.111111 9 0.3 277.9 313.4 333.15 310.15 398.15 Cost not reduced at T_evap+dT_evap.
102 4 16 3 -126.516 98.847 -27.6692 -249.023 0 0.111111 9 0.3 275.4 313.4 333.15 310.15 398.15 Cost not reduced at T_evap-dT_evap.
103 4 17 3 919.303 106.149 1025.45 -243.564 116.946 0.111111 9 0.3 276.65 312.15 333.15 310.15 398.15 Cost not reduced at T_cond-dT_cond.
103 4 18 3 -128.147 100.605 -27.5423 -247.881 0 0.111111 9 0.3 276.65 314.65 333.15 310.15 398.15 Cost not reduced at T_cond+dT_cond.
103 4 19 3 -130.592 103.399 -27.1922 -244.73 0 0.111111 9 0.3 276.65 313.4 331.9 310.15 398.15 Cost not reduced at T_rect-dT_rect.
103 4 20 3 -126.722 99.3614 -27.3611 -246.25 0 0.111111 9 0.3 276.65 313.4 333.15 311.4 398.15 Cost not reduced at T_abs_outlet+dT_abs_outlet.
103 4 21 3 9580.9 107.515 9688.41 -245.24 1079.52 0.111111 9 0.3 276.65 313.4 333.15 308.9 398.15 Cost not reduced at T_abs_outlet-dT_abs_outlet.
103 4 22 3 2968.66 105.231 3073.89 -246.609 344.588 0.111111 9 0.3 276.65 313.4 333.15 310.15 399.4 Cost not reduced at T_gen_outlet+dT_gen_outlet.
103 4 23 3 -128.734 101.53 -27.2038 -244.834 0 0.111111 9 0.3 276.65 313.4 333.15 310.15 396.9 Cost not reduced at T_gen_outlet-dT_gen_outlet.
84 4 24 3 -130.701 103.399 -27.3018 -245.716 0 0.111111 9 0.3 276.65 313.4 333.15 310.15 398.15 Iteration step did not reduce cost. Reduce step size to '0.125'.
104 1 1 4 -118.757 103.399 -15.3573 -245.716 0 0.0625 16 0.3 276.65 313.4 333.15 310.15 398.15 Iteration step did not reduce cost. Reduce step size to '0.125'.
104 2 1 4 -118.757 103.399 -15.3573 -245.716 0 0.0625 16 0.3 276.65 313.4 333.15 310.15 398.15 Exploration base, Delta = 0.125.
105 2 2 4 -114.476 99.0912 -15.3851 -246.162 0 0.0625 16 0.2875 276.65 313.4 333.15 310.15 398.15 Cost not reduced at m_rich-dm_rich.
106 2 3 4 2021.16 107.708 2128.86 -245.27 134.012 0.0625 16 0.3125 276.65 313.4 333.15 310.15 398.15 Cost not reduced at m_rich+dm_rich.
107 2 4 4 293.516 105.697 399.213 -244.1 25.9044 0.0625 16 0.3 277.275 313.4 333.15 310.15 398.15 Cost not reduced at T_evap+dT_evap.
108 2 5 4 -116.576 101.116 -15.4599 -247.359 0 0.0625 16 0.3 276.025 313.4 333.15 310.15 398.15 Cost not reduced at T_evap-dT_evap.
109 2 6 4 218.032 104.78 322.812 -244.638 21.1313 0.0625 16 0.3 276.65 312.775 333.15 310.15 398.15 Cost not reduced at T_cond-dT_cond.
110 2 7 4 -117.433 102.008 -15.4247 -246.796 0 0.0625 16 0.3 276.65 314.025 333.15 310.15 398.15 Cost not reduced at T_cond+dT_cond.
111 2 8 4 -118.726 103.399 -15.3265 -245.225 0 0.0625 16 0.3 276.65 313.4 332.525 310.15 398.15 Cost not reduced at T_rect-dT_rect.
112 2 9 4 -116.745 101.371 -15.3736 -245.977 0 0.0625 16 0.3 276.65 313.4 333.15 310.775 398.15 Cost not reduced at T_abs_outlet+dT_abs_outlet.
113 2 10 4 1332.88 105.447 1438.33 -245.47 90.8546 0.0625 16 0.3 276.65 313.4 333.15 309.525 398.15 Cost not reduced at T_abs_outlet-dT_abs_outlet.
114 2 11 4 673.61 104.32 777.929 -246.161 49.5822 0.0625 16 0.3 276.65 313.4 333.15 310.15 398.775Cost not reduced at T_gen_outlet+dT_gen_outlet.
115 2 12 4 -117.799 102.47 -15.3296 -245.274 0 0.0625 16 0.3 276.65 313.4 333.15 310.15 397.525Cost not reduced at T_gen_outlet-dT_gen_outlet.
115 2 13 4 -114.476 99.0912 -15.3851 -246.162 0 0.0625 16 0.2875 276.65 313.4 333.15 310.15 398.15 Cost not reduced at m_rich-dm_rich.
115 2 14 4 2021.16 107.708 2128.86 -245.27 134.012 0.0625 16 0.3125 276.65 313.4 333.15 310.15 398.15 Cost not reduced at m_rich+dm_rich.
115 2 15 4 293.516 105.697 399.213 -244.1 25.9044 0.0625 16 0.3 277.275 313.4 333.15 310.15 398.15 Cost not reduced at T_evap+dT_evap.
115 2 16 4 -116.576 101.116 -15.4599 -247.359 0 0.0625 16 0.3 276.025 313.4 333.15 310.15 398.15 Cost not reduced at T_evap-dT_evap.
115 2 17 4 218.032 104.78 322.812 -244.638 21.1313 0.0625 16 0.3 276.65 312.775 333.15 310.15 398.15 Cost not reduced at T_cond-dT_cond.
115 2 18 4 -117.433 102.008 -15.4247 -246.796 0 0.0625 16 0.3 276.65 314.025 333.15 310.15 398.15 Cost not reduced at T_cond+dT_cond.
115 2 19 4 -118.726 103.399 -15.3265 -245.225 0 0.0625 16 0.3 276.65 313.4 332.525 310.15 398.15 Cost not reduced at T_rect-dT_rect.
115 2 20 4 -116.745 101.371 -15.3736 -245.977 0 0.0625 16 0.3 276.65 313.4 333.15 310.775 398.15 Cost not reduced at T_abs_outlet+dT_abs_outlet.
115 2 21 4 1332.88 105.447 1438.33 -245.47 90.8546 0.0625 16 0.3 276.65 313.4 333.15 309.525 398.15 Cost not reduced at T_abs_outlet-dT_abs_outlet.
115 2 22 4 673.61 104.32 777.929 -246.161 49.5822 0.0625 16 0.3 276.65 313.4 333.15 310.15 398.775Cost not reduced at T_gen_outlet+dT_gen_outlet.
115 2 23 4 -117.799 102.47 -15.3296 -245.274 0 0.0625 16 0.3 276.65 313.4 333.15 310.15 397.525Cost not reduced at T_gen_outlet-dT_gen_outlet.
104 2 24 4 -118.757 103.399 -15.3573 -245.716 0 0.0625 16 0.3 276.65 313.4 333.15 310.15 398.15 Iteration step did not reduce cost. Reduce step size to '0.0625'.
116 1 1 5 -113.228 103.399 -9.82865 -245.716 0 0.04 25 0.3 276.65 313.4 333.15 310.15 398.15 Iteration step did not reduce cost. Reduce step size to '0.0625'.
116 2 1 5 -113.228 103.399 -9.82865 -245.716 0 0.04 25 0.3 276.65 313.4 333.15 310.15 398.15 Exploration base, Delta = 0.0625.
117 2 2 5 -111.083 101.245 -9.83757 -245.939 0 0.04 25 0.29375 276.65 313.4 333.15 310.15 398.15 Cost not reduced at m_rich-dm_rich.
118 2 3 5 572.744 105.554 678.297 -245.493 27.5247 0.04 25 0.30625 276.65 313.4 333.15 310.15 398.15 Cost not reduced at m_rich+dm_rich.
119 2 4 5 14.8947104.547 119.441 -244.905 5.1695 0.04 25 0.3 276.962 313.4 333.15 310.15 398.15 Cost not reduced at T_evap+dT_evap.
120 2 5 5 -112.117 102.256 -9.86138 -246.534 0 0.04 25 0.3 276.337 313.4 333.15 310.15 398.15 Cost not reduced at T_evap-dT_evap.
121 2 6 5 -11.1836104.091 92.9075 -245.176 4.10858 0.04 25 0.3 276.65 313.087 333.15 310.15 398.15 Cost not reduced at T_cond-dT_cond.
122 2 7 5 -112.555 102.705 -9.85025 -246.256 0 0.04 25 0.3 276.65 313.712 333.15 310.15 398.15 Cost not reduced at T_cond+dT_cond.
123 2 8 5 -113.218 103.399 -9.81884 -245.471 0 0.04 25 0.3 276.65 313.4 332.837 310.15 398.15 Cost not reduced at T_rect-dT_rect.
124 2 9 5 -112.217 102.383 -9.8338 -245.845 0 0.04 25 0.3 276.65 313.4 333.15 310.462 398.15 Cost not reduced at T_abs_outlet+dT_abs_outlet.
125 2 10 5 268.455 104.421 372.876 -245.591 15.308 0.04 25 0.3 276.65 313.4 333.15 309.837 398.15 Cost not reduced at T_abs_outlet-dT_abs_outlet.
126 2 11 5 124.047 103.861 227.907 -245.938 9.5098 0.04 25 0.3 276.65 313.4 333.15 310.15 398.462Cost not reduced at T_gen_outlet+dT_gen_outlet.
127 2 12 5 -112.756 102.936 -9.81979 -245.495 0 0.04 25 0.3 276.65 313.4 333.15 310.15 397.837Cost not reduced at T_gen_outlet-dT_gen_outlet.
127 2 13 5 -111.083 101.245 -9.83757 -245.939 0 0.04 25 0.29375 276.65 313.4 333.15 310.15 398.15 Cost not reduced at m_rich-dm_rich.
127 2 14 5 572.744 105.554 678.297 -245.493 27.5247 0.04 25 0.30625 276.65 313.4 333.15 310.15 398.15 Cost not reduced at m_rich+dm_rich.
127 2 15 5 14.8947104.547 119.441 -244.905 5.1695 0.04 25 0.3 276.962 313.4 333.15 310.15 398.15 Cost not reduced at T_evap+dT_evap.
127 2 16 5 -112.117 102.256 -9.86138 -246.534 0 0.04 25 0.3 276.337 313.4 333.15 310.15 398.15 Cost not reduced at T_evap-dT_evap.
127 2 17 5 -11.1836104.091 92.9075 -245.176 4.10858 0.04 25 0.3 276.65 313.087 333.15 310.15 398.15 Cost not reduced at T_cond-dT_cond.
127 2 18 5 -112.555 102.705 -9.85025 -246.256 0 0.04 25 0.3 276.65 313.712 333.15 310.15 398.15 Cost not reduced at T_cond+dT_cond.
127 2 19 5 -113.218 103.399 -9.81884 -245.471 0 0.04 25 0.3 276.65 313.4 332.837 310.15 398.15 Cost not reduced at T_rect-dT_rect.
127 2 20 5 -112.217 102.383 -9.8338 -245.845 0 0.04 25 0.3 276.65 313.4 333.15 310.462 398.15 Cost not reduced at T_abs_outlet+dT_abs_outlet.
127 2 21 5 268.455 104.421 372.876 -245.591 15.308 0.04 25 0.3 276.65 313.4 333.15 309.837 398.15 Cost not reduced at T_abs_outlet-dT_abs_outlet.
127 2 22 5 124.047 103.861 227.907 -245.938 9.5098 0.04 25 0.3 276.65 313.4 333.15 310.15 398.462Cost not reduced at T_gen_outlet+dT_gen_outlet.
127 2 23 5 -112.756 102.936 -9.81979 -245.495 0 0.04 25 0.3 276.65 313.4 333.15 310.15 397.837Cost not reduced at T_gen_outlet-dT_gen_outlet.
116 2 24 5 -113.228 103.399 -9.82865 -245.716 0 0.04 25 0.3 276.65 313.4 333.15 310.15 398.15 Iteration step did not reduce cost. Maximum number of step reductions reached.
116 2 25 5 -113.228 103.399 -9.82865 -245.716 0 0.04 25 0.3 276.65 313.4 333.15 310.15 398.15 Minimum point.
In [35]:
show_output_listing('../opt3/OutputListingAll.txt');
sim main_i sub_i step objective Q_evap barrier_and_penalty barrier penalty mu1 mu2 m_rich T_evap T_cond T_rect T_abs_outlet T_gen_outletMessage
1 1 1 1 1 -1 0 0 0 1 1 0.1 274.15 312.15 313.15 310.15 393.15 Initial point.
2 2 1 1 1 -1 0 0 0 1 1 0.2 274.15 312.15 313.15 310.15 393.15 Cost not reduced at m_rich+dm_rich.
3 2 2 1 1 -1 0 0 0 1 1 0.1 279.15 312.15 313.15 310.15 393.15 Cost not reduced at T_evap+dT_evap.
4 2 3 1 1 -1 0 0 0 1 1 0.1 274.15 317.15 313.15 310.15 393.15 Cost not reduced at T_cond+dT_cond.
5 2 4 1 1 -1 0 0 0 1 1 0.1 274.15 307.15 313.15 310.15 393.15 Cost not reduced at T_cond-dT_cond.
6 2 5 1 1 -1 0 0 0 1 1 0.1 274.15 312.15 318.15 310.15 393.15 Cost not reduced at T_rect+dT_rect.
7 2 6 1 1 -1 0 0 0 1 1 0.1 274.15 312.15 308.15 310.15 393.15 Cost not reduced at T_rect-dT_rect.
8 2 7 1 -246.982 24.5524 -222.429 -222.429 0 1 1 0.1 274.15 312.15 313.15 315.15 393.15 Cost reduced at T_abs_outlet+dT_abs_outlet.
9 2 8 1 -253.411 27.3245 -226.086 -226.086 0 1 1 0.1 274.15 312.15 313.15 315.15 398.15 Cost reduced at T_gen_outlet+dT_gen_outlet.
9 2 9 1 -253.411 27.3245 -226.086 -226.086 0 1 1 0.1 274.15 312.15 313.15 315.15 398.15 Global search reduced cost.
10 3 1 1 1 -1 0 0 0 1 1 0.1 274.15 312.15 313.15 320.15 403.15 Exploration base, Delta = 1.0.
11 3 2 1 1 -1 0 0 0 1 1 0.2 274.15 312.15 313.15 320.15 403.15 Cost not reduced at m_rich+dm_rich.
12 3 3 1 1 -1 0 0 0 1 1 0.1 279.15 312.15 313.15 320.15 403.15 Cost not reduced at T_evap+dT_evap.
13 3 4 1 1 -1 0 0 0 1 1 0.1 274.15 317.15 313.15 320.15 403.15 Cost not reduced at T_cond+dT_cond.
14 3 5 1 1 -1 0 0 0 1 1 0.1 274.15 307.15 313.15 320.15 403.15 Cost not reduced at T_cond-dT_cond.
15 3 6 1 1 -1 0 0 0 1 1 0.1 274.15 312.15 318.15 320.15 403.15 Cost not reduced at T_rect+dT_rect.
16 3 7 1 1 -1 0 0 0 1 1 0.1 274.15 312.15 308.15 320.15 403.15 Cost not reduced at T_rect-dT_rect.
17 3 8 1 1 -1 0 0 0 1 1 0.1 274.15 312.15 313.15 325.15 403.15 Cost not reduced at T_abs_outlet+dT_abs_outlet.
18 3 9 1 1 -1 0 0 0 1 1 0.1 274.15 312.15 313.15 315.15 403.15 Cost not reduced at T_abs_outlet-dT_abs_outlet.
19 3 10 1 1 -1 0 0 0 1 1 0.1 274.15 312.15 313.15 320.15 408.15 Cost not reduced at T_gen_outlet+dT_gen_outlet.
20 3 11 1 -250.328 22.5408 -227.787 -227.787 0 1 1 0.1 274.15 312.15 313.15 320.15 398.15 Cost reduced at T_gen_outlet-dT_gen_outlet.
21 3 12 1 1 -1 0 0 0 1 1 0.2 274.15 312.15 313.15 315.15 398.15 Cost not reduced at m_rich+dm_rich.
22 3 13 1 -246.779 33.0776 -213.701 -213.701 0 1 1 0.1 279.15 312.15 313.15 315.15 398.15 Cost not reduced at T_evap+dT_evap.
23 3 14 1 1 -1 0 0 0 1 1 0.1 274.15 317.15 313.15 315.15 398.15 Cost not reduced at T_cond+dT_cond.
24 3 15 1 1 -1 0 0 0 1 1 0.1 274.15 307.15 313.15 315.15 398.15 Cost not reduced at T_cond-dT_cond.
25 3 16 1 -258.176 27.3245 -230.851 -230.851 0 1 1 0.1 274.15 312.15 318.15 315.15 398.15 Cost reduced at T_rect+dT_rect.
26 3 17 1 -255.184 22.5408 -232.643 -232.643 0 1 1 0.1 274.15 312.15 318.15 320.15 398.15 Cost not reduced at T_abs_outlet+dT_abs_outlet.
27 3 18 1 1 -1 0 0 0 1 1 0.1 274.15 312.15 318.15 310.15 398.15 Cost not reduced at T_abs_outlet-dT_abs_outlet.
28 3 19 1 -251.747 24.5524 -227.194 -227.194 0 1 1 0.1 274.15 312.15 318.15 315.15 393.15 Cost not reduced at T_gen_outlet-dT_gen_outlet.
29 3 20 1 1 -1 0 0 0 1 1 0.1 274.15 312.15 318.15 315.15 403.15 Cost not reduced at T_gen_outlet+dT_gen_outlet.
25 3 21 1 -258.176 27.3245 -230.851 -230.851 0 1 1 0.1 274.15 312.15 318.15 315.15 398.15 Local search reduced cost.
30 4 1 1 -262.441 27.3245 -235.116 -235.116 0 1 1 0.1 274.15 312.15 323.15 315.15 398.15 Exploration base, Delta = 1.0.
31 4 2 1 1 -1 0 0 0 1 1 0.2 274.15 312.15 323.15 315.15 398.15 Cost not reduced at m_rich+dm_rich.
32 4 3 1 -255.772 33.0776 -222.694 -222.694 0 1 1 0.1 279.15 312.15 323.15 315.15 398.15 Cost not reduced at T_evap+dT_evap.
33 4 4 1 -266.739 23.3191 -243.42 -243.42 0 1 1 0.1 274.15 317.15 323.15 315.15 398.15 Cost reduced at T_cond+dT_cond.
34 4 5 1 -270.936 23.3191 -247.617 -247.617 0 1 1 0.1 274.15 317.15 328.15 315.15 398.15 Cost reduced at T_rect+dT_rect.
35 4 6 1 -266.495 18.3957 -248.099 -248.099 0 1 1 0.1 274.15 317.15 328.15 320.15 398.15 Cost not reduced at T_abs_outlet+dT_abs_outlet.
36 4 7 1 1 -1 0 0 0 1 1 0.1 274.15 317.15 328.15 310.15 398.15 Cost not reduced at T_abs_outlet-dT_abs_outlet.
37 4 8 1 -263.216 20.2921 -242.924 -242.924 0 1 1 0.1 274.15 317.15 328.15 315.15 393.15 Cost not reduced at T_gen_outlet-dT_gen_outlet.
38 4 9 1 1 -1 0 0 0 1 1 0.1 274.15 317.15 328.15 315.15 403.15 Cost not reduced at T_gen_outlet+dT_gen_outlet.
34 4 10 1 -270.936 23.3191 -247.617 -247.617 0 1 1 0.1 274.15 317.15 328.15 315.15 398.15 Global search reduced cost.
39 5 1 1 -276.848 19.0175 -257.831 -257.831 0 1 1 0.1 274.15 322.15 333.15 315.15 398.15 Cost reduced at T_rect-dT_rect.
40 5 2 1 -272.285 13.9404 -258.345 -258.345 0 1 1 0.1 274.15 322.15 333.15 320.15 398.15 Cost not reduced at T_abs_outlet+dT_abs_outlet.
41 5 3 1 -281.707 24.3935 -257.313 -257.313 0 1 1 0.1 274.15 322.15 333.15 310.15 398.15 Cost reduced at T_abs_outlet-dT_abs_outlet.
42 5 4 1 -273.881 21.2514 -252.63 -252.63 0 1 1 0.1 274.15 322.15 333.15 310.15 393.15 Cost not reduced at T_gen_outlet-dT_gen_outlet.
43 5 5 1 1 -1 0 0 0 1 1 0.1 274.15 322.15 333.15 310.15 403.15 Cost not reduced at T_gen_outlet+dT_gen_outlet.
41 5 6 1 -281.707 24.3935 -257.313 -257.313 0 1 1 0.1 274.15 322.15 333.15 310.15 398.15 Global search reduced cost.
44 6 1 1 1 -1 0 0 0 1 1 0.1 274.15 327.15 333.15 305.15 398.15 Cost reduced at T_rect-dT_rect.
45 6 2 1 -283.203 19.9136 -263.289 -263.289 0 1 1 0.1 274.15 327.15 333.15 310.15 398.15 Cost reduced at T_abs_outlet+dT_abs_outlet.
46 6 3 1 -275.064 16.4267 -258.637 -258.637 0 1 1 0.1 274.15 327.15 333.15 310.15 393.15 Cost not reduced at T_gen_outlet-dT_gen_outlet.
47 6 4 1 1 -1 0 0 0 1 1 0.1 274.15 327.15 333.15 310.15 403.15 Cost not reduced at T_gen_outlet+dT_gen_outlet.
45 6 5 1 -283.203 19.9136 -263.289 -263.289 0 1 1 0.1 274.15 327.15 333.15 310.15 398.15 Global search reduced cost.
48 7 1 1 -285.062 15.0174 -270.044 -270.044 0 1 1 0.1 274.15 332.15 333.15 310.15 398.15 Exploration base, Delta = 1.0.
49 7 2 1 -298.585 30.0347 -268.55 -268.55 0 1 1 0.2 274.15 332.15 333.15 310.15 398.15 Cost reduced at m_rich+dm_rich.
50 7 3 1 -301.201 44.0155 -257.185 -257.185 0 1 1 0.2 279.15 332.15 333.15 310.15 398.15 Cost reduced at T_evap+dT_evap.
51 7 4 1 -303.19 53.2731 -249.917 -249.917 0 1 1 0.2 279.15 327.15 333.15 310.15 398.15 Cost reduced at T_cond-dT_cond.
52 7 5 1 -299.55 53.2731 -246.277 -246.277 0 1 1 0.2 279.15 327.15 328.15 310.15 398.15 Cost not reduced at T_rect-dT_rect.
53 7 6 1 -292.597 41.4709 -251.126 -251.126 0 1 1 0.2 279.15 327.15 333.15 315.15 398.15 Cost not reduced at T_abs_outlet+dT_abs_outlet.
54 7 7 1 1 -1 0 0 0 1 1 0.2 279.15 327.15 333.15 305.15 398.15 Cost not reduced at T_abs_outlet-dT_abs_outlet.
55 7 8 1 -292.399 46.8297 -245.569 -245.569 0 1 1 0.2 279.15 327.15 333.15 310.15 393.15 Cost not reduced at T_gen_outlet-dT_gen_outlet.
56 7 9 1 1 -1 0 0 0 1 1 0.2 279.15 327.15 333.15 310.15 403.15 Cost not reduced at T_gen_outlet+dT_gen_outlet.
51 7 10 1 -303.19 53.2731 -249.917 -249.917 0 1 1 0.2 279.15 327.15 333.15 310.15 398.15 Global search reduced cost.
57 8 1 1 748.324 79.9097 828.233 -246.9851075.22 1 1 0.3 279.15 327.15 333.15 310.15 398.15 Cost reduced at T_evap-dT_evap.
58 8 2 1 1 -1 0 0 0 1 1 0.3 279.15 322.15 333.15 310.15 398.15 Cost reduced at T_cond-dT_cond.
59 8 3 1 1 -1 0 0 0 1 1 0.3 279.15 322.15 328.15 310.15 398.15 Cost not reduced at T_rect-dT_rect.
60 8 4 1 -317.613 75.5056 -242.107 -242.107 0 1 1 0.3 279.15 322.15 333.15 315.15 398.15 Cost reduced at T_abs_outlet+dT_abs_outlet.
61 8 5 1 -303.584 66.2007 -237.383 -237.383 0 1 1 0.3 279.15 322.15 333.15 315.15 393.15 Cost not reduced at T_gen_outlet-dT_gen_outlet.
62 8 6 1 1 -1 0 0 0 1 1 0.3 279.15 322.15 333.15 315.15 403.15 Cost not reduced at T_gen_outlet+dT_gen_outlet.
60 8 7 1 -317.613 75.5056 -242.107 -242.107 0 1 1 0.3 279.15 322.15 333.15 315.15 398.15 Global search reduced cost.
63 9 1 1 1 -1 0 0 0 1 1 0.4 279.15 317.15 333.15 320.15 398.15 Exploration base, Delta = 1.0.
64 9 2 1 1 -1 0 0 0 1 1 0.5 279.15 317.15 333.15 320.15 398.15 Cost not reduced at m_rich+dm_rich.
65 9 3 1 -307.968 72.2987 -235.669 -235.669 0 1 1 0.3 279.15 317.15 333.15 320.15 398.15 Cost reduced at m_rich-dm_rich.
66 9 4 1 -303.696 55.1871 -248.509 -248.509 0 1 1 0.3 274.15 317.15 333.15 320.15 398.15 Cost not reduced at T_evap-dT_evap.
67 9 5 1 1 -1 0 0 0 1 1 0.3 279.15 312.15 333.15 320.15 398.15 Cost not reduced at T_cond-dT_cond.
68 9 6 1 -303.182 59.5293 -243.653 -243.653 0 1 1 0.3 279.15 322.15 333.15 320.15 398.15 Cost not reduced at T_cond+dT_cond.
69 9 7 1 -303.826 72.2987 -231.527 -231.527 0 1 1 0.3 279.15 317.15 328.15 320.15 398.15 Cost not reduced at T_rect-dT_rect.
70 9 8 1 -295.952 57.6786 -238.273 -238.273 0 1 1 0.3 279.15 317.15 333.15 325.15 398.15 Cost not reduced at T_abs_outlet+dT_abs_outlet.
71 9 9 1 -320.731 87.789 -232.942 -232.942 0 1 1 0.3 279.15 317.15 333.15 315.15 398.15 Cost reduced at T_abs_outlet-dT_abs_outlet.
72 9 10 1 -309.117 79.3305 -229.786 -229.786 0 1 1 0.3 279.15 317.15 333.15 315.15 393.15 Cost not reduced at T_gen_outlet-dT_gen_outlet.
73 9 11 1 1 -1 0 0 0 1 1 0.3 279.15 317.15 333.15 315.15 403.15 Cost not reduced at T_gen_outlet+dT_gen_outlet.
71 9 12 1 -320.731 87.789 -232.942 -232.942 0 1 1 0.3 279.15 317.15 333.15 315.15 398.15 Global search reduced cost.
74 10 1 1 1 -1 0 0 0 1 1 0.3 279.15 312.15 333.15 315.15 398.15 Exploration base, Delta = 1.0.
75 10 2 1 1 -1 0 0 0 1 1 0.2 279.15 312.15 333.15 315.15 398.15 Cost not reduced at m_rich-dm_rich.
76 10 3 1 1 -1 0 0 0 1 1 0.4 279.15 312.15 333.15 315.15 398.15 Cost not reduced at m_rich+dm_rich.
77 10 4 1 1 -1 0 0 0 1 1 0.3 274.15 312.15 333.15 315.15 398.15 Cost not reduced at T_evap-dT_evap.
78 10 5 1 1 -1 0 0 0 1 1 0.3 279.15 307.15 333.15 315.15 398.15 Cost not reduced at T_cond-dT_cond.
78 10 6 1 -320.731 87.789 -232.942 -232.942 0 1 1 0.3 279.15 317.15 333.15 315.15 398.15 Cost reduced at T_cond+dT_cond.
79 10 7 1 -316.583 87.789 -228.794 -228.794 0 1 1 0.3 279.15 317.15 328.15 315.15 398.15 Cost not reduced at T_rect-dT_rect.
80 10 8 1 1 -1 0 0 0 1 1 0.3 279.15 317.15 333.15 310.15 398.15 Cost not reduced at T_abs_outlet-dT_abs_outlet.
80 10 9 1 -307.968 72.2987 -235.669 -235.669 0 1 1 0.3 279.15 317.15 333.15 320.15 398.15 Cost not reduced at T_abs_outlet+dT_abs_outlet.
80 10 10 1 -309.117 79.3305 -229.786 -229.786 0 1 1 0.3 279.15 317.15 333.15 315.15 393.15 Cost not reduced at T_gen_outlet-dT_gen_outlet.
80 10 11 1 1 -1 0 0 0 1 1 0.3 279.15 317.15 333.15 315.15 403.15 Cost not reduced at T_gen_outlet+dT_gen_outlet.
81 10 12 1 -294.482 58.526 -235.956 -235.956 0 1 1 0.2 279.15 317.15 333.15 315.15 398.15 Cost not reduced at m_rich-dm_rich.
82 10 13 1 1 -1 0 0 0 1 1 0.4 279.15 317.15 333.15 315.15 398.15 Cost not reduced at m_rich+dm_rich.
83 10 14 1 -316.95 69.9574 -246.993 -246.993 0 1 1 0.3 274.15 317.15 333.15 315.15 398.15 Cost not reduced at T_evap-dT_evap.
83 10 15 1 -317.613 75.5056 -242.107 -242.107 0 1 1 0.3 279.15 322.15 333.15 315.15 398.15 Cost not reduced at T_cond+dT_cond.
83 10 16 1 1 -1 0 0 0 1 1 0.3 279.15 312.15 333.15 315.15 398.15 Cost not reduced at T_cond-dT_cond.
83 10 17 1 -316.583 87.789 -228.794 -228.794 0 1 1 0.3 279.15 317.15 328.15 315.15 398.15 Cost not reduced at T_rect-dT_rect.
83 10 18 1 1 -1 0 0 0 1 1 0.3 279.15 317.15 333.15 310.15 398.15 Cost not reduced at T_abs_outlet-dT_abs_outlet.
83 10 19 1 -307.968 72.2987 -235.669 -235.669 0 1 1 0.3 279.15 317.15 333.15 320.15 398.15 Cost not reduced at T_abs_outlet+dT_abs_outlet.
83 10 20 1 -309.117 79.3305 -229.786 -229.786 0 1 1 0.3 279.15 317.15 333.15 315.15 393.15 Cost not reduced at T_gen_outlet-dT_gen_outlet.
83 10 21 1 1 -1 0 0 0 1 1 0.3 279.15 317.15 333.15 315.15 403.15 Cost not reduced at T_gen_outlet+dT_gen_outlet.
71 10 22 1 -320.731 87.789 -232.942 -232.942 0 1 1 0.3 279.15 317.15 333.15 315.15 398.15 Iteration step did not reduce cost. Reduce step size to '0.5'.
84 1 1 2 -146.025 87.789 -58.2356 -232.942 0 0.25 4 0.3 279.15 317.15 333.15 315.15 398.15 Iteration step did not reduce cost. Reduce step size to '0.5'.
84 2 1 2 -146.025 87.789 -58.2356 -232.942 0 0.25 4 0.3 279.15 317.15 333.15 315.15 398.15 Exploration base, Delta = 0.5.
85 2 2 2 -131.77 73.1575 -58.6126 -234.45 0 0.25 4 0.25 279.15 317.15 333.15 315.15 398.15 Cost not reduced at m_rich-dm_rich.
86 2 3 2 1 -1 0 0 0 0.25 4 0.35 279.15 317.15 333.15 315.15 398.15 Cost not reduced at m_rich+dm_rich.
87 2 4 2 -138.771 78.7878 -59.9832 -239.933 0 0.25 4 0.3 276.65 317.15 333.15 315.15 398.15 Cost not reduced at T_evap-dT_evap.
88 2 5 2 -141.134 81.7629 -59.3715 -237.486 0 0.25 4 0.3 279.15 319.65 333.15 315.15 398.15 Cost not reduced at T_cond+dT_cond.
89 2 6 2 4401.51 93.6069 4495.11 -228.4661138.06 0.25 4 0.3 279.15 314.65 333.15 315.15 398.15 Cost not reduced at T_cond-dT_cond.
90 2 7 2 -145.513 87.789 -57.724 -230.896 0 0.25 4 0.3 279.15 317.15 330.65 315.15 398.15 Cost not reduced at T_rect-dT_rect.
91 2 8 2 30484.2 95.9327 30580.1 -231.7127659.52 0.25 4 0.3 279.15 317.15 333.15 312.65 398.15 Cost not reduced at T_abs_outlet-dT_abs_outlet.
92 2 9 2 -138.493 79.9219 -58.5708 -234.283 0 0.25 4 0.3 279.15 317.15 333.15 317.65 398.15 Cost not reduced at T_abs_outlet+dT_abs_outlet.
93 2 10 2 -141.488 83.6531 -57.8345 -231.338 0 0.25 4 0.3 279.15 317.15 333.15 315.15 395.65 Cost not reduced at T_gen_outlet-dT_gen_outlet.
94 2 11 2 1 -1 0 0 0 0.25 4 0.3 279.15 317.15 333.15 315.15 400.65 Cost not reduced at T_gen_outlet+dT_gen_outlet.
94 2 12 2 -131.77 73.1575 -58.6126 -234.45 0 0.25 4 0.25 279.15 317.15 333.15 315.15 398.15 Cost not reduced at m_rich-dm_rich.
94 2 13 2 1 -1 0 0 0 0.25 4 0.35 279.15 317.15 333.15 315.15 398.15 Cost not reduced at m_rich+dm_rich.
94 2 14 2 -138.771 78.7878 -59.9832 -239.933 0 0.25 4 0.3 276.65 317.15 333.15 315.15 398.15 Cost not reduced at T_evap-dT_evap.
94 2 15 2 -141.134 81.7629 -59.3715 -237.486 0 0.25 4 0.3 279.15 319.65 333.15 315.15 398.15 Cost not reduced at T_cond+dT_cond.
94 2 16 2 4401.51 93.6069 4495.11 -228.4661138.06 0.25 4 0.3 279.15 314.65 333.15 315.15 398.15 Cost not reduced at T_cond-dT_cond.
94 2 17 2 -145.513 87.789 -57.724 -230.896 0 0.25 4 0.3 279.15 317.15 330.65 315.15 398.15 Cost not reduced at T_rect-dT_rect.
94 2 18 2 30484.2 95.9327 30580.1 -231.7127659.52 0.25 4 0.3 279.15 317.15 333.15 312.65 398.15 Cost not reduced at T_abs_outlet-dT_abs_outlet.
94 2 19 2 -138.493 79.9219 -58.5708 -234.283 0 0.25 4 0.3 279.15 317.15 333.15 317.65 398.15 Cost not reduced at T_abs_outlet+dT_abs_outlet.
94 2 20 2 -141.488 83.6531 -57.8345 -231.338 0 0.25 4 0.3 279.15 317.15 333.15 315.15 395.65 Cost not reduced at T_gen_outlet-dT_gen_outlet.
94 2 21 2 1 -1 0 0 0 0.25 4 0.3 279.15 317.15 333.15 315.15 400.65 Cost not reduced at T_gen_outlet+dT_gen_outlet.
84 2 22 2 -146.025 87.789 -58.2356 -232.942 0 0.25 4 0.3 279.15 317.15 333.15 315.15 398.15 Iteration step did not reduce cost. Reduce step size to '0.25'.
95 1 1 3 -113.671 87.789 -25.8825 -232.942 0 0.111111 9 0.3 279.15 317.15 333.15 315.15 398.15 Iteration step did not reduce cost. Reduce step size to '0.25'.
95 2 1 3 -113.671 87.789 -25.8825 -232.942 0 0.111111 9 0.3 279.15 317.15 333.15 315.15 398.15 Exploration base, Delta = 0.25.
96 2 2 3 -106.44 80.4732 -25.9663 -233.697 0 0.111111 9 0.275 279.15 317.15 333.15 315.15 398.15 Cost not reduced at m_rich-dm_rich.
97 2 3 3 15154.1 95.1047 15249.2 -230.9421697.21 0.111111 9 0.325 279.15 317.15 333.15 315.15 398.15 Cost not reduced at m_rich+dm_rich.
98 2 4 3 -109.535 83.2649 -26.2698 -236.428 0 0.111111 9 0.3 277.9 317.15 333.15 315.15 398.15 Cost not reduced at T_evap-dT_evap.
99 2 5 3 -110.935 84.8006 -26.134 -235.206 0 0.111111 9 0.3 279.15 318.4 333.15 315.15 398.15 Cost not reduced at T_cond+dT_cond.
100 2 6 3 505.628 90.7229 596.351 -230.697 69.1093 0.111111 9 0.3 279.15 315.9 333.15 315.15 398.15 Cost not reduced at T_cond-dT_cond.
101 2 7 3 -113.558 87.789 -25.7695 -231.926 0 0.111111 9 0.3 279.15 317.15 331.9 315.15 398.15 Cost not reduced at T_rect-dT_rect.
102 2 8 3 692.589 91.8239 784.413 -232.307 90.025 0.111111 9 0.3 279.15 317.15 333.15 313.9 398.15 Cost not reduced at T_abs_outlet-dT_abs_outlet.
103 2 9 3 -109.78 83.8231 -25.9566 -233.609 0 0.111111 9 0.3 279.15 317.15 333.15 316.4 398.15 Cost not reduced at T_abs_outlet+dT_abs_outlet.
104 2 10 3 -111.536 85.7436 -25.7927 -232.134 0 0.111111 9 0.3 279.15 317.15 333.15 315.15 396.9 Cost not reduced at T_gen_outlet-dT_gen_outlet.
105 2 11 3 4341.87 89.7909 4431.66 -233.763 495.293 0.111111 9 0.3 279.15 317.15 333.15 315.15 399.4 Cost not reduced at T_gen_outlet+dT_gen_outlet.
105 2 12 3 -106.44 80.4732 -25.9663 -233.697 0 0.111111 9 0.275 279.15 317.15 333.15 315.15 398.15 Cost not reduced at m_rich-dm_rich.
105 2 13 3 15154.1 95.1047 15249.2 -230.9421697.21 0.111111 9 0.325 279.15 317.15 333.15 315.15 398.15 Cost not reduced at m_rich+dm_rich.
105 2 14 3 -109.535 83.2649 -26.2698 -236.428 0 0.111111 9 0.3 277.9 317.15 333.15 315.15 398.15 Cost not reduced at T_evap-dT_evap.
105 2 15 3 -110.935 84.8006 -26.134 -235.206 0 0.111111 9 0.3 279.15 318.4 333.15 315.15 398.15 Cost not reduced at T_cond+dT_cond.
105 2 16 3 505.628 90.7229 596.351 -230.697 69.1093 0.111111 9 0.3 279.15 315.9 333.15 315.15 398.15 Cost not reduced at T_cond-dT_cond.
105 2 17 3 -113.558 87.789 -25.7695 -231.926 0 0.111111 9 0.3 279.15 317.15 331.9 315.15 398.15 Cost not reduced at T_rect-dT_rect.
105 2 18 3 692.589 91.8239 784.413 -232.307 90.025 0.111111 9 0.3 279.15 317.15 333.15 313.9 398.15 Cost not reduced at T_abs_outlet-dT_abs_outlet.
105 2 19 3 -109.78 83.8231 -25.9566 -233.609 0 0.111111 9 0.3 279.15 317.15 333.15 316.4 398.15 Cost not reduced at T_abs_outlet+dT_abs_outlet.
105 2 20 3 -111.536 85.7436 -25.7927 -232.134 0 0.111111 9 0.3 279.15 317.15 333.15 315.15 396.9 Cost not reduced at T_gen_outlet-dT_gen_outlet.
105 2 21 3 4341.87 89.7909 4431.66 -233.763 495.293 0.111111 9 0.3 279.15 317.15 333.15 315.15 399.4 Cost not reduced at T_gen_outlet+dT_gen_outlet.
95 2 22 3 -113.671 87.789 -25.8825 -232.942 0 0.111111 9 0.3 279.15 317.15 333.15 315.15 398.15 Iteration step did not reduce cost. Reduce step size to '0.125'.
106 1 1 4 -102.348 87.789 -14.5589 -232.942 0 0.0625 16 0.3 279.15 317.15 333.15 315.15 398.15 Iteration step did not reduce cost. Reduce step size to '0.125'.
106 2 1 4 -102.348 87.789 -14.5589 -232.942 0 0.0625 16 0.3 279.15 317.15 333.15 315.15 398.15 Exploration base, Delta = 0.125.
107 2 2 4 -98.7136 84.1311 -14.5825 -233.32 0 0.0625 16 0.2875 279.15 317.15 333.15 315.15 398.15 Cost not reduced at m_rich-dm_rich.
108 2 3 4 2431.61 91.4468 2523.06 -232.565 158.599 0.0625 16 0.3125 279.15 317.15 333.15 315.15 398.15 Cost not reduced at m_rich+dm_rich.
109 2 4 4 -100.188 85.5208 -14.6672 -234.676 0 0.0625 16 0.3 278.525 317.15 333.15 315.15 398.15 Cost not reduced at T_evap-dT_evap.
110 2 5 4 463.983 90.07 554.053 -231.221 35.5315 0.0625 16 0.3 279.775 317.15 333.15 315.15 398.15 Cost not reduced at T_evap+dT_evap.
111 2 6 4 -100.932 86.3025 -14.6294 -234.071 0 0.0625 16 0.3 279.15 317.775 333.15 315.15 398.15 Cost not reduced at T_cond+dT_cond.
112 2 7 4 -15.9893 89.2623 73.273 -231.818 5.4851 0.0625 16 0.3 279.15 316.525 333.15 315.15 398.15 Cost not reduced at T_cond-dT_cond.
113 2 8 4 -102.316 87.789 -14.5272 -232.436 0 0.0625 16 0.3 279.15 317.15 332.525 315.15 398.15 Cost not reduced at T_rect-dT_rect.
114 2 9 4 12.3534 89.7975 102.151 -232.621 7.293110.0625 16 0.3 279.15 317.15 333.15 314.525 398.15 Cost not reduced at T_abs_outlet-dT_abs_outlet.
115 2 10 4 -100.377 85.7977 -14.5793 -233.269 0 0.0625 16 0.3 279.15 317.15 333.15 315.775 398.15 Cost not reduced at T_abs_outlet+dT_abs_outlet.
116 2 11 4 -101.305 86.7718 -14.5335 -232.537 0 0.0625 16 0.3 279.15 317.15 333.15 315.15 397.525Cost not reduced at T_gen_outlet-dT_gen_outlet.
117 2 12 4 725.501 88.7953 814.296 -233.351 51.805 0.0625 16 0.3 279.15 317.15 333.15 315.15 398.775Cost not reduced at T_gen_outlet+dT_gen_outlet.
117 2 13 4 -98.7136 84.1311 -14.5825 -233.32 0 0.0625 16 0.2875 279.15 317.15 333.15 315.15 398.15 Cost not reduced at m_rich-dm_rich.
117 2 14 4 2431.61 91.4468 2523.06 -232.565 158.599 0.0625 16 0.3125 279.15 317.15 333.15 315.15 398.15 Cost not reduced at m_rich+dm_rich.
117 2 15 4 -100.188 85.5208 -14.6672 -234.676 0 0.0625 16 0.3 278.525 317.15 333.15 315.15 398.15 Cost not reduced at T_evap-dT_evap.
117 2 16 4 463.983 90.07 554.053 -231.221 35.5315 0.0625 16 0.3 279.775 317.15 333.15 315.15 398.15 Cost not reduced at T_evap+dT_evap.
117 2 17 4 -100.932 86.3025 -14.6294 -234.071 0 0.0625 16 0.3 279.15 317.775 333.15 315.15 398.15 Cost not reduced at T_cond+dT_cond.
117 2 18 4 -15.9893 89.2623 73.273 -231.818 5.4851 0.0625 16 0.3 279.15 316.525 333.15 315.15 398.15 Cost not reduced at T_cond-dT_cond.
117 2 19 4 -102.316 87.789 -14.5272 -232.436 0 0.0625 16 0.3 279.15 317.15 332.525 315.15 398.15 Cost not reduced at T_rect-dT_rect.
117 2 20 4 12.3534 89.7975 102.151 -232.621 7.293110.0625 16 0.3 279.15 317.15 333.15 314.525 398.15 Cost not reduced at T_abs_outlet-dT_abs_outlet.
117 2 21 4 -100.377 85.7977 -14.5793 -233.269 0 0.0625 16 0.3 279.15 317.15 333.15 315.775 398.15 Cost not reduced at T_abs_outlet+dT_abs_outlet.
117 2 22 4 -101.305 86.7718 -14.5335 -232.537 0 0.0625 16 0.3 279.15 317.15 333.15 315.15 397.525Cost not reduced at T_gen_outlet-dT_gen_outlet.
117 2 23 4 725.501 88.7953 814.296 -233.351 51.805 0.0625 16 0.3 279.15 317.15 333.15 315.15 398.775Cost not reduced at T_gen_outlet+dT_gen_outlet.
106 2 24 4 -102.348 87.789 -14.5589 -232.942 0 0.0625 16 0.3 279.15 317.15 333.15 315.15 398.15 Iteration step did not reduce cost. Reduce step size to '0.0625'.
118 1 1 5 -97.1067 87.789 -9.3177 -232.942 0 0.04 25 0.3 279.15 317.15 333.15 315.15 398.15 Iteration step did not reduce cost. Reduce step size to '0.0625'.
118 2 1 5 -97.1067 87.789 -9.3177 -232.942 0 0.04 25 0.3 279.15 317.15 333.15 315.15 398.15 Exploration base, Delta = 0.0625.
119 2 2 5 -95.2853 85.96 -9.32524 -233.131 0 0.04 25 0.29375 279.15 317.15 333.15 315.15 398.15 Cost not reduced at m_rich-dm_rich.
120 2 3 5 409.221 89.6179 498.839 -232.754 20.326 0.04 25 0.30625 279.15 317.15 333.15 315.15 398.15 Cost not reduced at m_rich+dm_rich.
121 2 4 5 -96.0056 86.6533 -9.35231 -233.808 0 0.04 25 0.3 278.837 317.15 333.15 315.15 398.15 Cost not reduced at T_evap-dT_evap.
122 2 5 5 -45.3661 88.9278 43.5617 -232.08 2.1138 0.04 25 0.3 279.462 317.15 333.15 315.15 398.15 Cost not reduced at T_evap+dT_evap.
123 2 6 5 -96.3876 87.0474 -9.34025 -233.506 0 0.04 25 0.3 279.15 317.462 333.15 315.15 398.15 Cost not reduced at T_cond+dT_cond.
124 2 7 5 -97.8224 88.5273 -9.29517 -232.379 0 0.04 25 0.3 279.15 316.837 333.15 315.15 398.15 Cost reduced at T_cond-dT_cond.
125 2 8 5 -97.8123 88.5273 -9.28507 -232.127 0 0.04 25 0.3 279.15 316.837 332.837 315.15 398.15 Cost not reduced at T_rect-dT_rect.
126 2 9 5 38.8931 89.5275 128.421 -232.22 5.508380.04 25 0.3 279.15 316.837 333.15 314.837 398.15 Cost not reduced at T_abs_outlet-dT_abs_outlet.
127 2 10 5 -96.833 87.5313 -9.30161 -232.54 0 0.04 25 0.3 279.15 316.837 333.15 315.462 398.15 Cost not reduced at T_abs_outlet+dT_abs_outlet.
128 2 11 5 -97.3098 88.0228 -9.28699 -232.175 0 0.04 25 0.3 279.15 316.837 333.15 315.15 397.837Cost not reduced at T_gen_outlet-dT_gen_outlet.
129 2 12 5 337.427 89.029 426.456 -232.584 17.4304 0.04 25 0.3 279.15 316.837 333.15 315.15 398.462Cost not reduced at T_gen_outlet+dT_gen_outlet.
124 2 13 5 -97.8224 88.5273 -9.29517 -232.379 0 0.04 25 0.3 279.15 316.837 333.15 315.15 398.15 Global search reduced cost.
130 3 1 5 38.5925 89.2623 127.855 -231.818 5.4851 0.04 25 0.3 279.15 316.525 333.15 315.15 398.15 Exploration base, Delta = 0.0625.
131 3 2 5 -96.6831 87.4027 -9.28039 -232.01 0 0.04 25 0.29375 279.15 316.525 333.15 315.15 398.15 Cost reduced at m_rich-dm_rich.
132 3 3 5 -95.6101 86.2954 -9.31473 -232.868 0 0.04 25 0.29375 278.837 316.525 333.15 315.15 398.15 Cost not reduced at T_evap-dT_evap.
133 3 4 5 -96.6441 88.5132 -8.13093 -231.154 0.044610.04 25 0.29375 279.462 316.525 333.15 315.15 398.15 Cost not reduced at T_evap+dT_evap.
134 3 5 5 -97.3773 88.1193 -9.258 -231.45 0 0.04 25 0.29375 279.15 316.212 333.15 315.15 398.15 Cost reduced at T_cond-dT_cond.
135 3 6 5 -97.3673 88.1193 -9.24794 -231.199 0 0.04 25 0.29375 279.15 316.212 332.837 315.15 398.15 Cost not reduced at T_rect-dT_rect.
136 3 7 5 -14.6839 89.0951 74.4112 -231.296 3.346520.04 25 0.29375 279.15 316.212 333.15 314.837 398.15 Cost not reduced at T_abs_outlet-dT_abs_outlet.
137 3 8 5 -96.412 87.1478 -9.26421 -231.605 0 0.04 25 0.29375 279.15 316.212 333.15 315.462 398.15 Cost not reduced at T_abs_outlet+dT_abs_outlet.
138 3 9 5 -96.8805 87.6308 -9.2497 -231.243 0 0.04 25 0.29375 279.15 316.212 333.15 315.15 397.837Cost not reduced at T_gen_outlet-dT_gen_outlet.
139 3 10 5 113.947 88.6053 202.552 -231.658 8.472750.04 25 0.29375 279.15 316.212 333.15 315.15 398.462Cost not reduced at T_gen_outlet+dT_gen_outlet.
140 3 11 5 -95.9857 86.6829 -9.30278 -232.57 0 0.04 25 0.29375 279.15 316.837 333.15 315.15 398.15 Cost not reduced at m_rich-dm_rich.
141 3 12 5 991.408 90.3716 1081.78 -232.189 43.6427 0.04 25 0.30625 279.15 316.837 333.15 315.15 398.15 Cost not reduced at m_rich+dm_rich.
142 3 13 5 -96.7237 87.394 -9.32969 -233.242 0 0.04 25 0.3 278.837 316.837 333.15 315.15 398.15 Cost not reduced at T_evap-dT_evap.
143 3 14 5 240.176 89.6637 329.84 -231.519 13.564 0.04 25 0.3 279.462 316.837 333.15 315.15 398.15 Cost not reduced at T_evap+dT_evap.
143 3 15 5 38.5925 89.2623 127.855 -231.818 5.4851 0.04 25 0.3 279.15 316.525 333.15 315.15 398.15 Cost not reduced at T_cond-dT_cond.
143 3 16 5 -97.1067 87.789 -9.3177 -232.942 0 0.04 25 0.3 279.15 317.15 333.15 315.15 398.15 Cost not reduced at T_cond+dT_cond.
143 3 17 5 -97.8123 88.5273 -9.28507 -232.127 0 0.04 25 0.3 279.15 316.837 332.837 315.15 398.15 Cost not reduced at T_rect-dT_rect.
143 3 18 5 38.8931 89.5275 128.421 -232.22 5.508380.04 25 0.3 279.15 316.837 333.15 314.837 398.15 Cost not reduced at T_abs_outlet-dT_abs_outlet.
143 3 19 5 -96.833 87.5313 -9.30161 -232.54 0 0.04 25 0.3 279.15 316.837 333.15 315.462 398.15 Cost not reduced at T_abs_outlet+dT_abs_outlet.
143 3 20 5 -97.3098 88.0228 -9.28699 -232.175 0 0.04 25 0.3 279.15 316.837 333.15 315.15 397.837Cost not reduced at T_gen_outlet-dT_gen_outlet.
143 3 21 5 337.427 89.029 426.456 -232.584 17.4304 0.04 25 0.3 279.15 316.837 333.15 315.15 398.462Cost not reduced at T_gen_outlet+dT_gen_outlet.
124 3 22 5 -97.8224 88.5273 -9.29517 -232.379 0 0.04 25 0.3 279.15 316.837 333.15 315.15 398.15 Iteration step did not reduce cost. Maximum number of step reductions reached.
124 3 23 5 -97.8224 88.5273 -9.29517 -232.379 0 0.04 25 0.3 279.15 316.837 333.15 315.15 398.15 Minimum point.
In [36]:
show_output_listing('../opt4/OutputListingAll.txt');
sim main_i sub_i step objective Q_evap barrier_and_penalty barrier penalty mu1 mu2 m_rich T_evap T_cond T_rect T_abs_outlet T_gen_outletMessage
1 1 1 1 -240.804 10.434 -230.369 -230.369 0 1 1 0.1 274.15 322.15 323.15 320.15 393.15 Initial point.
2 2 1 1 -250.193 20.8681 -229.325 -229.325 0 1 1 0.2 274.15 322.15 323.15 320.15 393.15 Cost reduced at m_rich+dm_rich.
3 2 2 1 -251.246 33.1118 -218.134 -218.134 0 1 1 0.2 279.15 322.15 323.15 320.15 393.15 Cost reduced at T_evap+dT_evap.
4 2 3 1 1 -1 0 0 0 1 1 0.2 279.15 327.15 323.15 320.15 393.15 Cost not reduced at T_cond+dT_cond.
5 2 4 1 -253.73 42.2228 -211.508 -211.508 0 1 1 0.2 279.15 317.15 323.15 320.15 393.15 Cost reduced at T_cond-dT_cond.
6 2 5 1 -257.941 42.2228 -215.718 -215.718 0 1 1 0.2 279.15 317.15 328.15 320.15 393.15 Cost reduced at T_rect+dT_rect.
7 2 6 1 -248.884 32.1577 -216.726 -216.726 0 1 1 0.2 279.15 317.15 328.15 325.15 393.15 Cost not reduced at T_abs_outlet+dT_abs_outlet.
8 2 7 1 1 -1 0 0 0 1 1 0.2 279.15 317.15 328.15 315.15 393.15 Cost not reduced at T_abs_outlet-dT_abs_outlet.
9 2 8 1 -267.203 48.1991 -219.004 -219.004 0 1 1 0.2 279.15 317.15 328.15 320.15 398.15 Cost reduced at T_gen_outlet+dT_gen_outlet.
9 2 9 1 -267.203 48.1991 -219.004 -219.004 0 1 1 0.2 279.15 317.15 328.15 320.15 398.15 Global search reduced cost.
10 3 1 1 1 -1 0 0 0 1 1 0.3 279.15 317.15 328.15 320.15 398.15 Cost not reduced at m_rich+dm_rich.
11 3 2 1 -245.567 24.0996 -221.467 -221.467 0 1 1 0.1 279.15 317.15 328.15 320.15 398.15 Cost not reduced at m_rich-dm_rich.
12 3 3 1 -268.02 36.7914 -231.228 -231.228 0 1 1 0.2 274.15 317.15 328.15 320.15 398.15 Cost reduced at T_evap-dT_evap.
13 3 4 1 -265.744 27.8807 -237.863 -237.863 0 1 1 0.2 274.15 322.15 328.15 320.15 398.15 Cost not reduced at T_cond+dT_cond.
14 3 5 1 -272.183 36.7914 -235.392 -235.392 0 1 1 0.2 274.15 317.15 333.15 320.15 398.15 Cost reduced at T_rect+dT_rect.
15 3 6 1 -263.746 27.41 -236.336 -236.336 0 1 1 0.2 274.15 317.15 333.15 325.15 398.15 Cost not reduced at T_abs_outlet+dT_abs_outlet.
16 3 7 1 -281.023 46.6383 -234.385 -234.385 0 1 1 0.2 274.15 317.15 333.15 315.15 398.15 Cost reduced at T_abs_outlet-dT_abs_outlet.
17 3 8 1 1 -1 0 0 0 1 1 0.2 274.15 317.15 333.15 315.15 403.15 Cost not reduced at T_gen_outlet+dT_gen_outlet.
18 3 9 1 -270.589 40.5843 -230.005 -230.005 0 1 1 0.2 274.15 317.15 333.15 315.15 393.15 Cost not reduced at T_gen_outlet-dT_gen_outlet.
16 3 10 1 -281.023 46.6383 -234.385 -234.385 0 1 1 0.2 274.15 317.15 333.15 315.15 398.15 Local search reduced cost.
19 4 1 1 1 -1 0 0 0 1 1 0.3 274.15 317.15 333.15 315.15 398.15 Cost not reduced at m_rich+dm_rich.
20 4 2 1 -260.083 23.3191 -236.764 -236.764 0 1 1 0.1 274.15 317.15 333.15 315.15 398.15 Cost not reduced at m_rich-dm_rich.
21 4 3 1 1 -1 0 0 0 1 1 0.2 279.15 317.15 333.15 315.15 398.15 Cost not reduced at T_evap+dT_evap.
22 4 4 1 -278.942 38.035 -240.906 -240.906 0 1 1 0.2 274.15 322.15 333.15 315.15 398.15 Cost not reduced at T_cond+dT_cond.
23 4 5 1 -276.876 46.6383 -230.238 -230.238 0 1 1 0.2 274.15 317.15 328.15 315.15 398.15 Cost not reduced at T_rect-dT_rect.
23 4 6 1 -272.183 36.7914 -235.392 -235.392 0 1 1 0.2 274.15 317.15 333.15 320.15 398.15 Cost not reduced at T_abs_outlet+dT_abs_outlet.
23 4 7 1 1 -1 0 0 0 1 1 0.2 274.15 317.15 333.15 315.15 403.15 Cost not reduced at T_gen_outlet+dT_gen_outlet.
23 4 8 1 -270.589 40.5843 -230.005 -230.005 0 1 1 0.2 274.15 317.15 333.15 315.15 393.15 Cost not reduced at T_gen_outlet-dT_gen_outlet.
16 4 9 1 -281.023 46.6383 -234.385 -234.385 0 1 1 0.2 274.15 317.15 333.15 315.15 398.15 Iteration step did not reduce cost. Reduce step size to '0.5'.
24 1 1 2 -105.235 46.6383 -58.5963 -234.385 0 0.25 4 0.2 274.15 317.15 333.15 315.15 398.15 Iteration step did not reduce cost. Reduce step size to '0.5'.
24 2 1 2 -105.235 46.6383 -58.5963 -234.385 0 0.25 4 0.2 274.15 317.15 333.15 315.15 398.15 Exploration base, Delta = 0.5.
25 2 2 2 1 -1 0 0 0 0.25 4 0.25 274.15 317.15 333.15 315.15 398.15 Cost not reduced at m_rich+dm_rich.
26 2 3 2 -93.873 34.9787 -58.8943 -235.577 0 0.25 4 0.15 274.15 317.15 333.15 315.15 398.15 Cost not reduced at m_rich-dm_rich.
27 2 4 2 1 -1 0 0 0 0.25 4 0.2 276.65 317.15 333.15 315.15 398.15 Cost not reduced at T_evap+dT_evap.
28 2 5 2 -101.835 42.4182 -59.4165 -237.666 0 0.25 4 0.2 274.15 319.65 333.15 315.15 398.15 Cost not reduced at T_cond+dT_cond.
29 2 6 2 -104.723 46.6383 -58.0847 -232.339 0 0.25 4 0.2 274.15 317.15 330.65 315.15 398.15 Cost not reduced at T_rect-dT_rect.
30 2 7 2 -100.377 41.6504 -58.7262 -234.905 0 0.25 4 0.2 274.15 317.15 333.15 317.65 398.15 Cost not reduced at T_abs_outlet+dT_abs_outlet.
31 2 8 2 1 -1 0 0 0 0.25 4 0.2 274.15 317.15 333.15 315.15 400.65 Cost not reduced at T_gen_outlet+dT_gen_outlet.
32 2 9 2 -101.725 43.6781 -58.047 -232.188 0 0.25 4 0.2 274.15 317.15 333.15 315.15 395.65 Cost not reduced at T_gen_outlet-dT_gen_outlet.
32 2 10 2 1 -1 0 0 0 0.25 4 0.25 274.15 317.15 333.15 315.15 398.15 Cost not reduced at m_rich+dm_rich.
32 2 11 2 -93.873 34.9787 -58.8943 -235.577 0 0.25 4 0.15 274.15 317.15 333.15 315.15 398.15 Cost not reduced at m_rich-dm_rich.
32 2 12 2 1 -1 0 0 0 0.25 4 0.2 276.65 317.15 333.15 315.15 398.15 Cost not reduced at T_evap+dT_evap.
32 2 13 2 -101.835 42.4182 -59.4165 -237.666 0 0.25 4 0.2 274.15 319.65 333.15 315.15 398.15 Cost not reduced at T_cond+dT_cond.
32 2 14 2 -104.723 46.6383 -58.0847 -232.339 0 0.25 4 0.2 274.15 317.15 330.65 315.15 398.15 Cost not reduced at T_rect-dT_rect.
32 2 15 2 -100.377 41.6504 -58.7262 -234.905 0 0.25 4 0.2 274.15 317.15 333.15 317.65 398.15 Cost not reduced at T_abs_outlet+dT_abs_outlet.
32 2 16 2 1 -1 0 0 0 0.25 4 0.2 274.15 317.15 333.15 315.15 400.65 Cost not reduced at T_gen_outlet+dT_gen_outlet.
32 2 17 2 -101.725 43.6781 -58.047 -232.188 0 0.25 4 0.2 274.15 317.15 333.15 315.15 395.65 Cost not reduced at T_gen_outlet-dT_gen_outlet.
24 2 18 2 -105.235 46.6383 -58.5963 -234.385 0 0.25 4 0.2 274.15 317.15 333.15 315.15 398.15 Iteration step did not reduce cost. Reduce step size to '0.25'.
33 1 1 3 -72.6811 46.6383 -26.0428 -234.385 0 0.111111 9 0.2 274.15 317.15 333.15 315.15 398.15 Iteration step did not reduce cost. Reduce step size to '0.25'.
33 2 1 3 -72.6811 46.6383 -26.0428 -234.385 0 0.111111 9 0.2 274.15 317.15 333.15 315.15 398.15 Exploration base, Delta = 0.25.
34 2 2 3208606 52.4681 208658 -233.78823187.1 0.111111 9 0.225 274.15 317.15 333.15 315.15 398.15 Cost not reduced at m_rich+dm_rich.
35 2 3 3 -66.9176 40.8085 -26.1091 -234.982 0 0.111111 9 0.175 274.15 317.15 333.15 315.15 398.15 Cost not reduced at m_rich-dm_rich.
36 2 4 3 1 -1 0 0 0 0.111111 9 0.2 275.4 317.15 333.15 315.15 398.15 Cost not reduced at T_evap+dT_evap.
37 2 5 3 1 -1 0 0 0 0.111111 9 0.2 274.15 315.9 333.15 315.15 398.15 Cost not reduced at T_cond-dT_cond.
38 2 6 3 -70.7712 44.5461 -26.2252 -236.026 0 0.111111 9 0.2 274.15 318.4 333.15 315.15 398.15 Cost not reduced at T_cond+dT_cond.
39 2 7 3 -72.568 46.6383 -25.9297 -233.367 0 0.111111 9 0.2 274.15 317.15 331.9 315.15 398.15 Cost not reduced at T_rect-dT_rect.
40 2 8 3 -70.1985 44.1273 -26.0711 -234.64 0 0.111111 9 0.2 274.15 317.15 333.15 316.4 398.15 Cost not reduced at T_abs_outlet+dT_abs_outlet.
41 2 9 3 1 -1 0 0 0 0.111111 9 0.2 274.15 317.15 333.15 315.15 399.4 Cost not reduced at T_gen_outlet+dT_gen_outlet.
42 2 10 3 -71.0949 45.1743 -25.9206 -233.285 0 0.111111 9 0.2 274.15 317.15 333.15 315.15 396.9 Cost not reduced at T_gen_outlet-dT_gen_outlet.
42 2 11 3208606 52.4681 208658 -233.78823187.1 0.111111 9 0.225 274.15 317.15 333.15 315.15 398.15 Cost not reduced at m_rich+dm_rich.
42 2 12 3 -66.9176 40.8085 -26.1091 -234.982 0 0.111111 9 0.175 274.15 317.15 333.15 315.15 398.15 Cost not reduced at m_rich-dm_rich.
42 2 13 3 1 -1 0 0 0 0.111111 9 0.2 275.4 317.15 333.15 315.15 398.15 Cost not reduced at T_evap+dT_evap.
42 2 14 3 1 -1 0 0 0 0.111111 9 0.2 274.15 315.9 333.15 315.15 398.15 Cost not reduced at T_cond-dT_cond.
42 2 15 3 -70.7712 44.5461 -26.2252 -236.026 0 0.111111 9 0.2 274.15 318.4 333.15 315.15 398.15 Cost not reduced at T_cond+dT_cond.
42 2 16 3 -72.568 46.6383 -25.9297 -233.367 0 0.111111 9 0.2 274.15 317.15 331.9 315.15 398.15 Cost not reduced at T_rect-dT_rect.
42 2 17 3 -70.1985 44.1273 -26.0711 -234.64 0 0.111111 9 0.2 274.15 317.15 333.15 316.4 398.15 Cost not reduced at T_abs_outlet+dT_abs_outlet.
42 2 18 3 1 -1 0 0 0 0.111111 9 0.2 274.15 317.15 333.15 315.15 399.4 Cost not reduced at T_gen_outlet+dT_gen_outlet.
42 2 19 3 -71.0949 45.1743 -25.9206 -233.285 0 0.111111 9 0.2 274.15 317.15 333.15 315.15 396.9 Cost not reduced at T_gen_outlet-dT_gen_outlet.
33 2 20 3 -72.6811 46.6383 -26.0428 -234.385 0 0.111111 9 0.2 274.15 317.15 333.15 315.15 398.15 Iteration step did not reduce cost. Reduce step size to '0.125'.
43 1 1 4 -61.2874 46.6383 -14.6491 -234.385 0 0.0625 16 0.2 274.15 317.15 333.15 315.15 398.15 Iteration step did not reduce cost. Reduce step size to '0.125'.
43 2 1 4 -61.2874 46.6383 -14.6491 -234.385 0 0.0625 16 0.2 274.15 317.15 333.15 315.15 398.15 Exploration base, Delta = 0.125.
44 2 2 4 9645.56 49.5532 9695.12 -234.087 606.859 0.0625 16 0.2125 274.15 317.15 333.15 315.15 398.15 Cost not reduced at m_rich+dm_rich.
45 2 3 4 -58.3911 43.7234 -14.6677 -234.683 0 0.0625 16 0.1875 274.15 317.15 333.15 315.15 398.15 Cost not reduced at m_rich-dm_rich.
46 2 4 4 1 -1 0 0 0 0.0625 16 0.2 274.775 317.15 333.15 315.15 398.15 Cost not reduced at T_evap+dT_evap.
47 2 5 4 1 -1 0 0 0 0.0625 16 0.2 274.15 316.525 333.15 315.15 398.15 Cost not reduced at T_cond-dT_cond.
48 2 6 4 -60.2978 45.5975 -14.7003 -235.205 0 0.0625 16 0.2 274.15 317.775 333.15 315.15 398.15 Cost not reduced at T_cond+dT_cond.
49 2 7 4 -61.2557 46.6383 -14.6174 -233.878 0 0.0625 16 0.2 274.15 317.15 332.525 315.15 398.15 Cost not reduced at T_rect-dT_rect.
50 2 8 4 -60.0355 45.3784 -14.6571 -234.513 0 0.0625 16 0.2 274.15 317.15 333.15 315.775 398.15 Cost not reduced at T_abs_outlet+dT_abs_outlet.
51 2 9 4 1100.6 47.3585 1147.96 -234.874 72.6647 0.0625 16 0.2 274.15 317.15 333.15 315.15 398.775Cost not reduced at T_gen_outlet+dT_gen_outlet.
52 2 10 4 -60.5249 45.9103 -14.6147 -233.835 0 0.0625 16 0.2 274.15 317.15 333.15 315.15 397.525Cost not reduced at T_gen_outlet-dT_gen_outlet.
52 2 11 4 9645.56 49.5532 9695.12 -234.087 606.859 0.0625 16 0.2125 274.15 317.15 333.15 315.15 398.15 Cost not reduced at m_rich+dm_rich.
52 2 12 4 -58.3911 43.7234 -14.6677 -234.683 0 0.0625 16 0.1875 274.15 317.15 333.15 315.15 398.15 Cost not reduced at m_rich-dm_rich.
52 2 13 4 1 -1 0 0 0 0.0625 16 0.2 274.775 317.15 333.15 315.15 398.15 Cost not reduced at T_evap+dT_evap.
52 2 14 4 1 -1 0 0 0 0.0625 16 0.2 274.15 316.525 333.15 315.15 398.15 Cost not reduced at T_cond-dT_cond.
52 2 15 4 -60.2978 45.5975 -14.7003 -235.205 0 0.0625 16 0.2 274.15 317.775 333.15 315.15 398.15 Cost not reduced at T_cond+dT_cond.
52 2 16 4 -61.2557 46.6383 -14.6174 -233.878 0 0.0625 16 0.2 274.15 317.15 332.525 315.15 398.15 Cost not reduced at T_rect-dT_rect.
52 2 17 4 -60.0355 45.3784 -14.6571 -234.513 0 0.0625 16 0.2 274.15 317.15 333.15 315.775 398.15 Cost not reduced at T_abs_outlet+dT_abs_outlet.
52 2 18 4 1100.6 47.3585 1147.96 -234.874 72.6647 0.0625 16 0.2 274.15 317.15 333.15 315.15 398.775Cost not reduced at T_gen_outlet+dT_gen_outlet.
52 2 19 4 -60.5249 45.9103 -14.6147 -233.835 0 0.0625 16 0.2 274.15 317.15 333.15 315.15 397.525Cost not reduced at T_gen_outlet-dT_gen_outlet.
43 2 20 4 -61.2874 46.6383 -14.6491 -234.385 0 0.0625 16 0.2 274.15 317.15 333.15 315.15 398.15 Iteration step did not reduce cost. Reduce step size to '0.0625'.
53 1 1 5 -56.0137 46.6383 -9.3754 -234.385 0 0.04 25 0.2 274.15 317.15 333.15 315.15 398.15 Iteration step did not reduce cost. Reduce step size to '0.0625'.
53 2 1 5 -56.0137 46.6383 -9.3754 -234.385 0 0.04 25 0.2 274.15 317.15 333.15 315.15 398.15 Exploration base, Delta = 0.0625.
54 2 2 5 2288.51 48.0957 2336.61 -234.236 93.8392 0.04 25 0.20625 274.15 317.15 333.15 315.15 398.15 Cost not reduced at m_rich+dm_rich.
55 2 3 5 -54.5622 45.1808 -9.38137 -234.534 0 0.04 25 0.19375 274.15 317.15 333.15 315.15 398.15 Cost not reduced at m_rich-dm_rich.
56 2 4 5 -55.3126 45.9093 -9.4033 -235.082 0 0.04 25 0.2 273.837 317.15 333.15 315.15 398.15 Cost not reduced at T_evap-dT_evap.
57 2 5 5 1513.24 47.3687 1560.61 -233.608 62.7981 0.04 25 0.2 274.462 317.15 333.15 315.15 398.15 Cost not reduced at T_evap+dT_evap.
58 2 6 5 1 -1 0 0 0 0.04 25 0.2 274.15 316.837 333.15 315.15 398.15 Cost not reduced at T_cond-dT_cond.
59 2 7 5 -55.5109 46.1191 -9.39181 -234.795 0 0.04 25 0.2 274.15 317.462 333.15 315.15 398.15 Cost not reduced at T_cond+dT_cond.
60 2 8 5 -56.0036 46.6383 -9.36527 -234.132 0 0.04 25 0.2 274.15 317.15 332.837 315.15 398.15 Cost not reduced at T_rect-dT_rect.
61 2 9 5 -55.3852 46.0073 -9.37798 -234.449 0 0.04 25 0.2 274.15 317.15 333.15 315.462 398.15 Cost not reduced at T_abs_outlet+dT_abs_outlet.
62 2 10 5 42.7233 46.9994 89.7227 -234.661 3.964360.04 25 0.2 274.15 317.15 333.15 315.15 398.462Cost not reduced at T_gen_outlet+dT_gen_outlet.
63 2 11 5 -55.6397 46.2753 -9.36439 -234.11 0 0.04 25 0.2 274.15 317.15 333.15 315.15 397.837Cost not reduced at T_gen_outlet-dT_gen_outlet.
63 2 12 5 2288.51 48.0957 2336.61 -234.236 93.8392 0.04 25 0.20625 274.15 317.15 333.15 315.15 398.15 Cost not reduced at m_rich+dm_rich.
63 2 13 5 -54.5622 45.1808 -9.38137 -234.534 0 0.04 25 0.19375 274.15 317.15 333.15 315.15 398.15 Cost not reduced at m_rich-dm_rich.
63 2 14 5 -55.3126 45.9093 -9.4033 -235.082 0 0.04 25 0.2 273.837 317.15 333.15 315.15 398.15 Cost not reduced at T_evap-dT_evap.
63 2 15 5 1513.24 47.3687 1560.61 -233.608 62.7981 0.04 25 0.2 274.462 317.15 333.15 315.15 398.15 Cost not reduced at T_evap+dT_evap.
63 2 16 5 1 -1 0 0 0 0.04 25 0.2 274.15 316.837 333.15 315.15 398.15 Cost not reduced at T_cond-dT_cond.
63 2 17 5 -55.5109 46.1191 -9.39181 -234.795 0 0.04 25 0.2 274.15 317.462 333.15 315.15 398.15 Cost not reduced at T_cond+dT_cond.
63 2 18 5 -56.0036 46.6383 -9.36527 -234.132 0 0.04 25 0.2 274.15 317.15 332.837 315.15 398.15 Cost not reduced at T_rect-dT_rect.
63 2 19 5 -55.3852 46.0073 -9.37798 -234.449 0 0.04 25 0.2 274.15 317.15 333.15 315.462 398.15 Cost not reduced at T_abs_outlet+dT_abs_outlet.
63 2 20 5 42.7233 46.9994 89.7227 -234.661 3.964360.04 25 0.2 274.15 317.15 333.15 315.15 398.462Cost not reduced at T_gen_outlet+dT_gen_outlet.
63 2 21 5 -55.6397 46.2753 -9.36439 -234.11 0 0.04 25 0.2 274.15 317.15 333.15 315.15 397.837Cost not reduced at T_gen_outlet-dT_gen_outlet.
53 2 22 5 -56.0137 46.6383 -9.3754 -234.385 0 0.04 25 0.2 274.15 317.15 333.15 315.15 398.15 Iteration step did not reduce cost. Maximum number of step reductions reached.
53 2 23 5 -56.0137 46.6383 -9.3754 -234.385 0 0.04 25 0.2 274.15 317.15 333.15 315.15 398.15 Minimum point.

Discussion of GenOpt trials

First let's compare optimized cooling capacity to results from the scipy.optimize trials. At heat reject temperatures of 32 C, 37 C, and 42 C, I would anticipate respective optima of about 115 kW (for opt1 and opt2), 100 kW (for opt3), and 80 kW (opt4). For the first case, opt1 seems to have headed off in the wrong direction, but opt2 worked fairly well. Both opt2 and opt3 delivered optima near to what's expected. However, opt3 delivered cooling capacity lower than desired.

One thing I notice is that barrier and penalty functions sometimes change signs. Probably they should be fixed (see note added above proposed constraint mode genopt2.)

In [ ]: