A+ A A-

I. Mathematical Expression:

$$f(X)=\left[\prod^n_{i=1} x_i-n!\right]^2$$

where:

\(\bullet\) \(-10\leq x_i\leq 10\) , \(i=1,2,\cdots,n\)

\(\bullet\) \(f_{min}(X^*)=0\)

\(\bullet\) \(x^*_i\): In general, it reaches optima when the product term is equal to the factorial term. Based on our observations, we have found the following:

\(\ \ \ \ \ \Rightarrow\) For \(n=1\): Global minima happens at \(x=1\)

\(\ \ \ \ \ \Rightarrow\) For \(n=2\): Infinite number of global minimum happens at \(x_1 \cdot x_2=2\) \(\rightarrow\) \(x_1=\frac{2}{x_2}\)

\(\bullet\) Its name is "Factorial Function" as in [1], while [2, 3] called it "Mishra's Function No.07". Based on that, and to clarify this hidden point, we call this function as "Mishra's Function No.07 (or Factorial Function)".

 

II. Citation Policy:

If you publish material based on databases obtained from this repository, then, in your acknowledgments, please note the assistance you received by using this repository. This will help others to obtain the same data sets and replicate your experiments. We suggest the following pseudo-APA reference format for referring to this repository:

Ali R. Al-Roomi (2015). Unconstrained Single-Objective Benchmark Functions Repository [https://www.al-roomi.org/benchmarks/unconstrained]. Halifax, Nova Scotia, Canada: Dalhousie University, Electrical and Computer Engineering.

Here is a BiBTeX citation as well:

@MISC{Al-Roomi2015,
author = {Ali R. Al-Roomi},
title = {{Unconstrained Single-Objective Benchmark Functions Repository}},
year = {2015},
address = {Halifax, Nova Scotia, Canada},
institution = {Dalhousie University, Electrical and Computer Engineering},
url = {https://www.al-roomi.org/benchmarks/unconstrained}
}

 

III. 2&3D-Plots:

 

IV. Controllable 3D Model:

- In case you want to adjust the rendering mode, camera position, background color or/and 3D measurement tool, please check the following link

- In case you face any problem to run this model on your internet browser (it does not work on mobile phones), please check the following link

 

V. MATLAB M-File:

% Mishra's # 7 or Factorial Fuction
% Range of initial points: -10 <= xj <= 10 , j=1,2,...,n
% For n=1:
% Global minima: x=1
% f(x)=0
% For n=2:
% Infinite number of global minimum: x1*x2=2 >> x1=2/x2
% f(x1,x2)=0
% In general, fmin=0 when the product is equal to the factorial
% Coded by: Ali R. Alroomi | Last Update: 04 June 2015 | www.al-roomi.org  
 
% Larger value of n (=>8) will make the problem very hard
 
clear
clc
warning off
 
x1min=-10;
x1max=10;
x2min=-10;
x2max=10;
R=1500; % steps resolution
x1=x1min:(x1max-x1min)/R:x1max;
x2=x2min:(x2max-x2min)/R:x2max;
 
% Compute factorial(n):
Fact1=factorial(1);
Fact2=factorial(2);
 
for j=1:length(x1)
   
    % For 1-dimensional plotting
    f1(j)=(x1(j)-Fact1)^2;
   
    % For 2-dimensional plotting
    for i=1:length(x2)
        Prod=x1(j)*x2(i);
        f(i)=(Prod-Fact2)^2;
    end
   
    fn_tot(j,:)=f;
 
end
 
figure(1)
plot(x1,f1);set(gca,'FontSize',12);
xlabel('x','FontName','Times','FontSize',20,'FontAngle','italic');
ylabel('f(x)','FontName','Times','FontSize',20,'FontAngle','italic');
title('2D View','FontName','Times','FontSize',24,'FontWeight','bold');
 
figure(2)
meshc(x1,x2,fn_tot);colorbar;set(gca,'FontSize',12);
xlabel('x_2','FontName','Times','FontSize',20,'FontAngle','italic');
set(get(gca,'xlabel'),'rotation',25,'VerticalAlignment','bottom');
ylabel('x_1','FontName','Times','FontSize',20,'FontAngle','italic');
set(get(gca,'ylabel'),'rotation',-25,'VerticalAlignment','bottom');
zlabel('f(X)','FontName','Times','FontSize',20,'FontAngle','italic');
title('3D View','FontName','Times','FontSize',24,'FontWeight','bold');
 
figure(3)
mesh(x1,x2,fn_tot);view(0,90);colorbar;set(gca,'FontSize',12);
xlabel('x_2','FontName','Times','FontSize',20,'FontAngle','italic');
ylabel('x_1','FontName','Times','FontSize',20,'FontAngle','italic');
zlabel('f(X)','FontName','Times','FontSize',20,'FontAngle','italic');
title('X-Y Plane View','FontName','Times','FontSize',24,'FontWeight','bold');
 
figure(4)
mesh(x1,x2,fn_tot);view(90,0);colorbar;set(gca,'FontSize',12);
xlabel('x_2','FontName','Times','FontSize',20,'FontAngle','italic');
ylabel('x_1','FontName','Times','FontSize',20,'FontAngle','italic');
zlabel('f(X)','FontName','Times','FontSize',20,'FontAngle','italic');
title('X-Z Plane View','FontName','Times','FontSize',24,'FontWeight','bold');
 
figure(5)
mesh(x1,x2,fn_tot);view(0,0);colorbar;set(gca,'FontSize',12);
xlabel('x_2','FontName','Times','FontSize',20,'FontAngle','italic');
ylabel('x_1','FontName','Times','FontSize',20,'FontAngle','italic');
zlabel('f(X)','FontName','Times','FontSize',20,'FontAngle','italic');
title('Y-Z Plane View','FontName','Times','FontSize',24,'FontWeight','bold');

Click here to download m-file

 

VI. References:

[1] S. Mishra, "Repulsive Particle Swarm Method on Some Difficult Test Problems of Global Optimization," Shillong, India, Oct. 2006. [Online]. Available: http://mpra.ub.uni-muenchen.de/1742/1/MPRA_paper_1742.pdf 
[2] M. Jamil and X. S. Yang, "A Literature Survey of Benchmark Functions for Global Optimization Problems," International Journal of Mathematical Modelling and Numerical Optimisation, vol. 4, no. 2, pp. 150–194, Aug. 2013.
[3] A. Gavana, "Test Functions Index," Feb. 2013, [Accessed April 01, 2013]. [Online]. Available: http://infinity77.net/global_optimization/test_functions.html
[4] Ali R. Alroomi, "The Farm of Unconstrained Benchmark Functions," University of Bahrain, Electrical and Electronics Department, Bahrain, Oct. 2013. [Online]. Available: http://www.al-roomi.org/cv/publications