Modeling

In this part, we applied numerical models to simulate the relationship between MCFAs yield and the shaking speed, as well as the relationship between OD600 value and the shaking speed. Then, according to the simulation results, we predicted at what shaking speed, the overall benefit of MCFAs yield and OD600 would achieve the best. Table 1 shows the experimental data of MCFAs yield and OD600 value change with the shaking speed.

Table 1. Experimental data of effect of shaking speed on MCFAs and OD600.
Shaking speed (rpm) MCFAs titer (g/L) OD600
250 0.68 4.83
200 0.82 4.54
150 0.95 4.09
100 1.08 3.52
50 0.62 2.98
0 0.33 1.07

As shown below, Model (1) was used to model MCFAs versus shaking speed, while Model (2) was used to simulate OD600 versus shaking speed.

Model (1):

f1(x) = (p1x2 + p2x+ p3) / (x2 + q1x + q2) (1)

Where p1, p2, p3, q1 and q2 are the parameters need to be determined.

Model (2):

f2(x) = (p'1x + p'2) / (x + q'1) (2)

Where p'1, p'2 and q'1 are the parameters to be fitted.


Coding

The following is the Matlab code for our numerical simulation:

clear;clc;
% exp. data
Data=importdata('data.txt')
Ss=Data(:,1); % Shaking speed
MCFA=Data(:,2);
OD=Data(:,3);
%% model
Ss_m=0:1:260;
% MCFA
p1 = 0.4361;
p2 = -28.99;
p3 = 3297;
q1 = -156.2;
q2 = 1.004e+04;
MCFA_m=(p1*Ss_m.^2 + p2*Ss_m + p3) ./ (Ss_m.^2 + q1*Ss_m + q2);
figure, plot(Ss_m,MCFA_m,'-')
hold on, plot(Ss,MCFA,'o')
% OD600
p1_od = 6.193;
p2_od = 108.3;
q1_od = 98.41;
OD_m=(p1_od*Ss_m + p2_od)./(Ss_m + q1_od);
figure, plot(Ss_m,OD_m,'-')
hold on, plot(Ss,OD,'*')
%%
max_M=max(MCFA_m);
min_M=min(MCFA_m);
MCFA_nor=(MCFA_m-min_M)/(max_M-min_M);
max_od=max(OD_m);
min_od=min(OD_m);
OD_nor=(OD_m-min_od)/(max_od-min_od);
coff=2;
sum_M=coff*MCFA_nor-OD_nor;
figure, plot(Ss_m,sum_M,'-')
ii=find(sum_M==max(sum_M))
sum_M(ii)
        

Model Results:

1. Shaking speed vs. MCFAs

Figure 1. Fitting results of Model (1).

General model:

f(x) = (p1*x2 + p2*x + p3) / (x2 + q1*x + q2)

Coefficients (with 95% confidence bounds):

p1 = 0.4361 (-0.3982, 1.27)
p2 = -28.99 (-203.5, 145.5)
p3 = 3297 (-6430, 1.302e+04)
q1 = -156.2 (-348.1, 35.73)
q2 = 1.004e+04 (-1.505e+04, 3.512e+04)

Goodness of fit:

SSE: 0.001036
R-square: 0.9971
Adjusted R-square: 0.9853
RMSE: 0.03219

2. Shaking speed vs. OD600

Figure 2. Fitting results of Model (2).

General model:

f(x) = (p1*x + p2) / (x + q1)

Coefficients (with 95% confidence bounds):

p1 = 6.193 (4.83, 7.557)
p2 = 108.3 (-0.04758, 216.7)
q1 = 98.41 (25.33, 171.5)

Goodness of fit:

SSE: 0.06312
R-square: 0.9933
Adjusted R-square: 0.9888
RMSE: 0.1451

Model Prediction

Figure 3. Considering the influence of MCFAs production and OD600 value, the optimal shaking speed is predicted.

Based on the numerical simulation, we hope to find an optimal shaking speed, which can obtain a large MCFAs production and a small OD600 value. First, we normalize the values of MCFAs production and OD600, that is

f *(xi) =   f(xi) - min(f(xi)) max(f(xi)) - min(f(xi))

Second, considering that MCFAs production has a greater impact on overall benefit than OD600, we set a scaling parameter (sp). Third, the overall benefit has a positive correlation with MCFAs production and a negative correlation with OD600. Based on the above we establish the following model to calculate the overall benefit:

g(x) = sp ∙ f1*(x) - f2*(x)

In this case, we set sp=2, and our numerical results show that when shaking speed = 104 rpm, the overall benefit reaches the best.

Conclusion

Based on the numerical results (Figure 1 and Figure 2), the two models fit the experimental data well with high R-square. Therefore, it is feasible for us to predict the impact of shaking speed on the overall benefit on these two models. Figure 3 shows the prediction results of the optimal shaking speed value (shaking speed = 104 rpm). It should be noted that the value of the scaling parameter (sp) has an impact on the optimal shaking speed value. According to our calculation, when sp is between 1.5 and 5, the optimal shaking speed range is 102 to 106 rpm.