Problem with the bounds in gamultiobj optimisation solver

Hello,
Introduction
The domain of my work is chemical kinetics. I have developed a kinetic model which determines the reaction rate by taking into account the partial pressure of different gas components in the outlet stream and different kinetic parameters. I have 133 sets of experimental data which is required for the calculation. The kinetic parameters are the unknown parameters that need to be optimised. The objective function is basically the error function between the calcuated and experimental values for thefractional molar conversions of two components CO and NO.
Problem Description
I am currently working on optimising two objective functions with a total of 28 parameters (to be optimised) using gamultiobj. all my 'to be optimised' parameters are bounded and I have nonlinear constraints as well (I am using MATLAB 2020a). For the understanding of my problem, I have attached the script files.
(1) optimise_form10_total_NO_conv.m is the file that you should run. It contains the line of code to call the gamultiobj function and import the experimental data along with the lower and upper bounds for each of the 'to be optimised' parameters.
(2) obj_fun_form10_total_NO_conv.m is the file containing the objective function (or known as the fitness function) which is to be minimised with the help of gamuultiobj function.
(3) nonlcon_form10_total_NO_conv.m is the file containing the non linear constraints for the problem. Since, I am dealing with the fractional molar conversion of the components, the values need to be between 0 and 1. This condition has tobe satisfied for each experimental data set. Therefore, the 'c' matrix is of the size (533 X 1).
(4) rate_CO2_form10.m, rate_NO2_form10.m and rate_N_form10.m are the function files which calculates the reaction rate based on the values of kinetic parameters and partial pressure of various components (derived from the experiments). These files need not be changed and are just called when the obj_fun_form10_total_NO_conv.m is run via optimise_form10_total_NO_conv.m.
(5) Expt_dataset_3.xlsx, lower_bound.xlsx and upper_bound.xlsx are the excel files which contains the experimental data, upper and lower bounds of the unknown parameters ('to be optimised') respectively.
What is the problem faced ?
When I am running the optimisation, the gamultiobj solver is giving me a set of results which is at the upper bounds of the parameters. Changing the upper bound is changing the optimal values of the parameters. In every case, it is always at the upper bound. Therefore, do you have any strategy to overcome this problem ?

4 Comments

Why problem ? Maybe it's the correct answer. Or did you find a better parameter combination that is not at the upper bound ?
The problem is when I increase the bound, the optimal solution still touches the upper bound. This means that the optimal solution is either on the upper bound or it is beyond that (the latter one looks reasonable to me). However, the values will be nonsense if I further increase the bounds and still get the optimal solution at the bound. so, is there a strategy to avoid this ?
I didnt find any better parameter combination yet and getting the same problem with each new set of parameters.
The problem is when I increase the bound, the optimal solution still touches the upper bound. This means that the optimal solution is either on the upper bound or it is beyond that (the latter one looks reasonable to me). However, the values will be nonsense if I further increase the bounds and still get the optimal solution at the bound.
If the values are nonsense if you increase the upper bounds further, you will have to accept the solution on a bound with reasonable values for the parameters because it seems to be the best parameter combination the solver can find in the feasible region. That's what bounds are for: prevent solutions to become nonsense.
Okay. I understand what you are saying. Thank you for the information; I will have a look into it

Sign in to comment.

Answers (0)

Categories

Find more on Chemistry in Help Center and File Exchange

Products

Release

R2020a

Asked:

on 19 Apr 2022

Commented:

on 20 Apr 2022

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!