23 #ifndef __SYNTHETIC_H_ 24 #define __SYNTHETIC_H_ 31 #include <sys/types.h> 32 #include <bits/stdint-intn.h> 93 synthetic (
const std::string &n, u_int dims,
double opt);
113 std::vector <properties> get_properties() {
return m_properties; }
156 double m_lb, m_ub, m_opt;
157 std::vector<properties> m_properties;
1033 deceptive (
int dims);
1732 const std::string &n,
1737 virtual void kernel (
double *xs,
double *ret) = 0;
1747 void dist_sq_1 (
double *xs,
double *ret);
1754 void dist_sq_2 (
double *xs,
double *ret);
1761 void dist_sq_inf (
double *xs,
double *ret);
1774 void kernel (
double *xs,
double *ret)
override;
1775 enum { prob = 7, coef = 6 };
1778 static constexpr
rdims dims = { .
prob = prob, .coef = coef };
1779 static constexpr
double fmin = -0.0859426686096;
1780 static constexpr
double minloc[prob] =
1781 {0.6241, 0.7688, 0.8793, 0.2739, 0.7351, 0.8499, 0.6196};
1783 static constexpr
double centres[coef * prob] = {
1784 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1,
1785 0.3, 0.1, 0.5, 0.1, 0.8, 0.8, 0.6,
1786 0.6, 0.7, 0.8, 0.3, 0.7, 0.8, 0.6,
1787 0.4, 0.7, 0.4, 0.9, 0.4, 0.1, 0.9,
1788 0.9, 0.3, 0.3, 0.5, 0.2, 0.7, 0.2,
1789 0.5, 0.5, 0.2, 0.8, 0.5, 0.3, 0.4};
1791 static constexpr
double e_mat[coef * prob] = {
1792 5, 5, 5, 5, 5, 5, 5,
1793 5, 5, 5, 5, 5, 5, 5,
1794 5, 5, 5, 5, 5, 5, 5,
1795 5, 5, 5, 5, 5, 5, 5,
1796 5, 5, 5, 5, 5, 5, 5,
1797 5, 5, 5, 5, 5, 5, 5};
1799 static constexpr
double coefs[coef] = {1, 1, -2, 1, 1, 1};
1805 void kernel (
double *xs,
double *ret)
override;
1806 enum { prob = 7, coef = 6 };
1809 static constexpr
rdims dims = { .
prob = prob, .coef = coef };
1810 static constexpr
double fmin = -2.74162116801;
1811 static constexpr
double minloc[prob] =
1812 {0.4068, 0.4432, 0.6479, 0.1978, 0.7660, 0.7553, 0.5640};
1814 static constexpr
double centres[coef * prob] = {
1815 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1,
1816 0.3, 0.1, 0.5, 0.1, 0.8, 0.8, 0.6,
1817 0.6, 0.7, 0.8, 0.3, 0.7, 0.8, 0.6,
1818 0.4, 0.7, 0.4, 0.9, 0.4, 0.1, 0.9,
1819 0.9, 0.3, 0.3, 0.5, 0.2, 0.7, 0.2,
1820 0.5, 0.5, 0.2, 0.8, 0.5, 0.3, 0.4};
1822 static constexpr
double e_mat[coef * prob] = {
1823 5. , 5. , 5. , 5. , 5. , 5. , 5. ,
1824 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5,
1825 1. , 1. , 1. , 1. , 1. , 1. , 1. ,
1826 5. , 5. , 5. , 5. , 5. , 5. , 5. ,
1827 5. , 5. , 5. , 5. , 5. , 5. , 5. ,
1828 5. , 5. , 5. , 5. , 5. , 5. , 5.};
1830 static constexpr
double coefs[coef] = {-1, -1, -2, 1, 1, -1};
1836 void kernel (
double *xs,
double *ret)
override;
1837 enum { prob = 9, coef = 9 };
1840 static constexpr
rdims dims = { .
prob = prob, .coef = coef };
1841 static constexpr
double fmin = -3.02379637466;
1842 static constexpr
double minloc[prob] =
1843 { 0.9317, 0.1891, 0.2503, 0.3646, 0.1603, 0.9829, 0.0392, 0.3263,
1846 static constexpr
double centres[coef * prob] = {
1847 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1,
1848 0.3, 0.1, 0.5, 0.1, 0.8, 0.8, 0.6, 0.4, 0.2,
1849 0.6, 0.7, 0.8, 0.3, 0.7, 0.8, 0.6, 0.9, 0.1,
1850 0.7, 0.2, 0.7, 0.7, 0.3, 0.3, 0.8, 0.6, 0.4,
1851 0.4, 0.6, 0.4, 0.9, 0.4, 0.1, 0.9, 0.3, 0.3,
1852 0.5, 0.5, 0.2, 0.8, 0.5, 0.3, 0.4, 0.5, 0.8,
1853 0.8, 0.3, 0.3, 0.5, 0.2, 0.7, 0.2, 0.4, 0.6,
1854 0.8, 0.3, 0.3, 0.5, 0.2, 0.7, 0.2, 0.4, 0.6,
1855 0.8, 0.3, 0.3, 0.5, 0.2, 0.7, 0.2, 0.4, 0.6};
1857 static constexpr
double e_mat[coef * prob] = {
1858 1, 1, 1, 1, 1, 1, 1, 1, 1,
1859 1, 1, 1, 1, 1, 1, 1, 1, 1,
1860 1, 1, 1, 1, 1, 1, 1, 1, 1,
1861 1, 1, 1, 1, 1, 1, 1, 1, 1,
1862 1, 1, 1, 1, 1, 1, 1, 1, 1,
1863 1, 1, 1, 1, 1, 1, 1, 1, 1,
1864 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1,
1865 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5,
1866 1, 1, 1, 1, 1, 1, 1, 1, 1};
1868 static constexpr
double coefs[coef] = {1, -1, 1, 1, 1, 1, -1, -2, -1};
1874 void kernel (
double *xs,
double *ret)
override;
1875 enum { prob = 10, coef = 9 };
1878 static constexpr
rdims dims = { .
prob = prob, .coef = coef };
1879 static constexpr
double fmin = -4.631135472012;
1880 static constexpr
double minloc[prob] =
1881 { 0.8286, 0.3562, 0.3487, 0.4623, 0.1549,
1882 0.7182, 0.2218, 0.3919, 0.5394, 0.441};
1884 static constexpr
double centres[coef * prob] = {
1885 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1,
1886 0.3, 0.1, 0.5, 0.1, 0.8, 0.8, 0.6, 0.4, 0.2, 0.9,
1887 0.6, 0.7, 0.8, 0.3, 0.7, 0.8, 0.6, 0.9, 0.1, 0.2,
1888 0.7, 0.2, 0.7, 0.7, 0.3, 0.3, 0.8, 0.6, 0.4, 0.1,
1889 0.4, 0.6, 0.4, 0.9, 0.4, 0.1, 0.9, 0.3, 0.3, 0.2,
1890 0.5, 0.5, 0.2, 0.8, 0.5, 0.3, 0.4, 0.5, 0.8, 0.6,
1891 0.8, 0.4, 0.3, 0.5, 0.2, 0.7, 0.2, 0.4, 0.6, 0.5,
1892 0.8, 0.4, 0.3, 0.5, 0.2, 0.7, 0.2, 0.4, 0.6, 0.5,
1893 0.8, 0.4, 0.3, 0.5, 0.2, 0.7, 0.2, 0.4, 0.6, 0.5};
1895 static constexpr
double e_mat[coef * prob] = {
1896 0.5 , 0.5 , 0.5 , 0.5 , 0.5 , 0.5 , 0.5 , 0.5 , 0.5 , 0.5,
1897 0.5 , 0.5 , 0.5 , 0.5 , 0.5 , 0.5 , 0.5 , 0.5 , 0.5 , 0.5,
1898 0.5 , 0.5 , 0.5 , 0.5 , 0.5 , 0.5 , 0.5 , 0.5 , 0.5 , 0.5,
1899 0.5 , 0.5 , 0.5 , 0.5 , 0.5 , 0.5 , 0.5 , 0.5 , 0.5 , 0.5,
1900 0.5 , 0.5 , 0.5 , 0.5 , 0.5 , 0.5 , 0.5 , 0.5 , 0.5 , 0.5,
1901 0.5 , 0.5 , 0.5 , 0.5 , 0.5 , 0.5 , 0.5 , 0.5 , 0.5 , 0.5,
1902 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05,
1903 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25,
1904 0.5 , 0.5 , 0.5 , 0.5 , 0.5 , 0.5 , 0.5 , 0.5 , 0.5 , 0.5};
1906 static constexpr
double coefs[coef] = {1, -1, 1, -1, 1, 1, -2, -1, -1};
1912 void kernel (
double *xs,
double *ret)
override;
1913 enum { prob = 12, coef = 10 };
1916 static constexpr
rdims dims = { .
prob = prob, .coef = coef };
1917 static constexpr
double fmin = -11.89842508364;
1918 static constexpr
double minloc[prob] =
1919 { 0.636, 0.622, 0.39, 0.622, 0.29, 0.047,
1920 0.97, 0.26, 0.311, 0.247, 0.794, 0.189 };
1922 static constexpr
double centres[coef * prob] = {
1923 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1,
1924 0.3, 0.1, 0.5, 0.1, 0.8, 0.8, 0.6, 0.4, 0.2, 0.9, 0.3, 0.7,
1925 0.6, 0.7, 0.8, 0.3, 0.7, 0.8, 0.6, 0.9, 0.1, 0.2, 0.5, 0.2,
1926 0.7, 0.2, 0.7, 0.7, 0.3, 0.3, 0.8, 0.6, 0.4, 0.1, 0.9, 0.9,
1927 0.4, 0.6, 0.4, 0.5, 0.4, 0.2, 0.8, 0.3, 0.3, 0.2, 0.5, 0.1,
1928 0.5, 0.5, 0.2, 0.8, 0.5, 0.3, 0.4, 0.5, 0.8, 0.6, 0.9, 0.1,
1929 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 0, 0.1, 0.2,
1930 0.8, 0.4, 0.3, 0.5, 0.2, 0.7, 0.2, 0.4, 0.6, 0.5, 0.3, 0.8,
1931 0.9, 0.5, 0.3, 0.2, 0.1, 0.9, 0.3, 0.7, 0.7, 0.7, 0.4, 0.4,
1932 0.2, 0.8, 0.6, 0.4, 0.6, 0.6, 0.5, 0, 0.2, 0.8, 0.2, 0.3};
1934 static constexpr
double e_mat[coef * prob] = {
1935 0.4 ,0.4 ,0.4 ,0.4 ,0.4 ,0.4 ,0.4 ,0.4 ,0.4 ,0.4 ,0.4 ,0.4 ,
1936 0.4 ,0.4 ,0.4 ,0.4 ,0.4 ,0.4 ,0.4 ,0.4 ,0.4 ,0.4 ,0.4 ,0.4 ,
1937 0.4 ,0.4 ,0.4 ,0.4 ,0.4 ,0.4 ,0.4 ,0.4 ,0.4 ,0.4 ,0.4 ,0.4 ,
1938 0.2 ,0.2 ,0.2 ,0.2 ,0.2 ,0.2 ,0.2 ,0.2 ,0.2 ,0.2 ,0.2 ,0.2 ,
1939 0.4 ,0.4 ,0.4 ,0.4 ,0.4 ,0.4 ,0.4 ,0.4 ,0.4 ,0.4 ,0.4 ,0.4 ,
1940 0.08,0.08,0.08,0.08,0.08,0.08,0.08,0.08,0.08,0.08,0.08,0.08,
1941 0.2 ,0.2 ,0.2 ,0.2 ,0.2 ,0.2 ,0.2 ,0.2 ,0.2 ,0.2 ,0.2 ,0.2 ,
1942 0.2 ,0.2 ,0.2 ,0.2 ,0.2 ,0.2 ,0.2 ,0.2 ,0.2 ,0.2 ,0.2 ,0.2 ,
1943 0.4 ,0.4 ,0.4 ,0.4 ,0.4 ,0.4 ,0.4 ,0.4 ,0.4 ,0.4 ,0.4 ,0.4 ,
1944 0.4 ,0.4 ,0.4 ,0.4 ,0.4 ,0.4 ,0.4 ,0.4 ,0.4 ,0.4 ,0.4 ,0.4 };
1947 static constexpr
double coefs[coef] =
1948 {5, -2, 5, -5, -20, -2, 10, 2, -5, 5};
1954 void kernel (
double *xs,
double *ret)
override;
1955 enum { prob = 5, coef = 7 };
1958 static constexpr
rdims dims = { .
prob = prob, .coef = coef };
1959 static constexpr
double fmin = 2.80720263234;
1960 static constexpr
double minloc[prob] = {1, 1, 0.7636, 0.5268, 1};
1962 static constexpr
double centres[coef * prob] = {
1963 0.1, 0.1, 0.1, 0.1, 0.1,
1964 0.3, 0.8, 0.8, 0.6, 0.9,
1965 0.6, 0.1, 0.2, 0.5, 0.2,
1966 0.7, 0.2, 0.1, 0.8, 0.9,
1967 0.4, 0.6, 0.5, 0.3, 0.8,
1968 0.9, 0.5, 0.3, 0.2, 0.4,
1969 0.2, 0.8, 0.6, 0.4, 0.6};
1971 static constexpr
double e_mat[coef * prob] = {
1972 0.4 , 0.4 , 0.4 , 0.4 , 0.4 ,
1973 0.2 , 0.2 , 0.2 , 0.2 , 0.2 ,
1974 0.4 , 0.4 , 0.4 , 0.4 , 0.4 ,
1975 0.08, 0.08, 0.08, 0.08, 0.08,
1976 0.2 , 0.2 , 0.2 , 0.2 , 0.2 ,
1977 0.4 , 0.4 , 0.4 , 0.4 , 0.4 ,
1978 0.4 , 0.4 , 0.4 , 0.4 , 0.4};
1980 static constexpr
double coefs[coef] = {-3, 2, -2, 4, -1, 5, -1};
1986 void kernel (
double *xs,
double *ret)
override;
1987 enum { prob = 6, coef = 7 };
1990 static constexpr
rdims dims = { .
prob = prob, .coef = coef };
1991 static constexpr
double fmin = -0.36321372933;
1992 static constexpr
double minloc[prob] = {0.3811, 1, 0.2312, 0, 1, 0.1403};
1994 static constexpr
double centres[coef * prob] = {
1995 0.1, 0.1, 0.1, 0.1, 0.1, 0.1,
1996 0.3, 0.8, 0.8, 0.6, 0.9, 0.4,
1997 0.6, 1, 0.2, 0, 1, 0.3,
1998 0.7, 0.2, 0.1, 0.8, 0.9, 0.2,
1999 0.4, 0.6, 0.5, 0.3, 0.8, 0.3,
2000 0.9, 0.5, 0.3, 0.2, 0.4, 0.8,
2001 0.2, 0.8, 0.6, 0.4, 0.6, 0.9};
2003 static constexpr
double e_mat[coef * prob] = {
2004 0.7 , 0.7 , 0.7 , 0.7 , 0.7 , 0.7 ,
2005 0.35, 0.35, 0.35, 0.35, 0.35, 0.35,
2006 0.7 , 0.7 , 0.7 , 0.7 , 0.7 , 0.7 ,
2007 0.14, 0.14, 0.14, 0.14, 0.14, 0.14,
2008 0.35, 0.35, 0.35, 0.35, 0.35, 0.35,
2009 0.7 , 0.7 , 0.7 , 0.7 , 0.7 , 0.7 ,
2010 0.49, 0.49, 0.49, 0.49, 0.49, 0.49};
2012 static constexpr
double coefs[coef] = {2, 2, -4, 1, -2, 4, -2};
2018 void kernel (
double *xs,
double *ret)
override;
2019 enum { prob = 4, coef = 7 };
2022 static constexpr
rdims dims = { .
prob = prob, .coef = coef };
2023 static constexpr
double fmin = -3.45224058874;
2024 static constexpr
double minloc[prob] = {0.5067, 1, 0.5591, 0.0823};
2026 static constexpr
double centres[coef * prob] = {
2033 0.2, 0.8, 0.6, 0.4};
2035 static constexpr
double e_mat[coef * prob] = {
2036 0.7 , 0.7 , 0.7 , 0.7 ,
2037 0.35, 0.35, 0.35, 0.35,
2038 0.7 , 2.1 , 0.7 , 2.1 ,
2039 0.35, 0.35, 0.35, 0.35,
2040 1.4 , 0.7 , 1.4 , 0.7 ,
2041 0.7 , 0.7 , 0.7 , 0.7 ,
2042 0.49, 0.49, 0.49, 0.49};
2044 static constexpr
double coefs[coef] = {2, 1, -8, 1, -5, 3, 2};
2050 void kernel (
double *xs,
double *ret)
override;
2051 enum { prob = 3, coef = 8 };
2054 static constexpr
rdims dims = { .
prob = prob, .coef = coef };
2055 static constexpr
double fmin = -10.17146707797;
2056 static constexpr
double minloc[prob] = {0.594, 1, 0.205};
2058 static constexpr
double centres[coef * prob] = {
2068 static constexpr
double e_mat[coef * prob] = {
2078 static constexpr
double coefs[coef] = {4, -3, -6, -2, 1, -3, 6, 2};
2084 void kernel (
double *xs,
double *ret)
override;
2085 enum { prob = 8, coef = 10 };
2088 static constexpr
rdims dims = { .
prob = prob, .coef = coef };
2089 static constexpr
double fmin = -2.51939597030;
2090 static constexpr
double minloc[prob] =
2091 {0.5085, 0.5433, 0.2273, 1, 0.3381, 0.0255, 1, 0.5038};
2093 static constexpr
double centres[coef * prob] = {
2094 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1,
2095 0.3, 0.1, 0.5, 0.1, 0.8, 0.8, 0.6, 0.4,
2096 0.6, 0.7, 0.8, 0.3, 0.7, 0.8, 0.6, 0.9,
2097 0.7, 0, 0.7, 1, 0.3, 0, 0.8, 0.6,
2098 0.4, 0.6, 0.4, 1, 0.4, 0.2, 1, 0.3,
2099 0.5, 0.5, 0.2, 0.8, 0.5, 0.3, 0.4, 0.5,
2100 0.1, 0.2, 1, 0.4, 0.5, 0.6, 0.7, 0,
2101 0.9, 0.4, 0.3, 0.5, 0.2, 0.7, 0.2, 0.4,
2102 0, 0.5, 0.3, 0.2, 0.1, 0.9, 0.3, 0.7,
2103 0.2, 0.8, 0.6, 0.4, 0.6, 0.6, 0.5, 0};
2105 static constexpr
double e_mat[coef * prob] = {
2106 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8,
2107 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8,
2108 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8,
2109 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4,
2110 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8,
2111 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4, 2.4,
2112 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4,
2113 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8,
2114 1.6, 1.6, 1.6, 1.6, 1.6, 1.6, 1.6, 1.6,
2115 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8};
2117 static constexpr
double coefs[coef] =
2118 {5, -2, 5, -5, -12, -2, 10, 2, -5, 5};
2124 void kernel (
double *xs,
double *ret)
override;
2125 enum { prob = 8, coef = 10 };
2128 static constexpr
rdims dims = { .
prob = prob, .coef = coef };
2129 static constexpr
double fmin = -0.39045528652;
2130 static constexpr
double minloc[prob] =
2131 {0.4, 0.6, 0.4, 1, 0.4, 0.2, 1, 0.3};
2133 static constexpr
double centres[coef * prob] = {
2134 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1,
2135 0.3, 0.1, 0.5, 0.1, 0.8, 0.8, 0.6, 0.4,
2136 0.6, 0.7, 0.8, 0.3, 0.7, 0.8, 0.6, 0.9,
2137 0.7, 0, 0.7, 1, 0.3, 0, 0.8, 0.6,
2138 0.4, 0.6, 0.4, 1, 0.4, 0.2, 1, 0.3,
2139 0.5, 0.5, 0.2, 0.8, 0.5, 0.3, 0.4, 0.5,
2140 0.1, 0.2, 1, 0.4, 0.5, 0.6, 0.7, 0,
2141 0.9, 0.4, 0.3, 0.5, 0.2, 0.7, 0.2, 0.4,
2142 0, 0.5, 0.3, 0.2, 0.1, 0.9, 0.3, 0.7,
2143 0.2, 0.8, 0.6, 0.4, 0.6, 0.6, 0.5, 0};
2145 static constexpr
double e_mat[coef * prob] = {
2146 0.5 , 0.5 , 0.5 , 0.5 , 0.5 , 0.5 , 0.5 , 0.5 ,
2147 0.5 , 0.5 , 0.5 , 0.5 , 0.5 , 0.5 , 0.5 , 0.5 ,
2148 0.5 , 0.5 , 0.5 , 0.5 , 0.5 , 0.5 , 0.5 , 0.5 ,
2149 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25,
2150 0.5 , 0.5 , 0.5 , 0.5 , 0.5 , 0.5 , 0.5 , 0.5 ,
2151 1.5 , 1.5 , 1.5 , 1.5 , 1.5 , 1.5 , 1.5 , 1.5 ,
2152 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25,
2153 0.5 , 0.5 , 0.5 , 0.5 , 0.5 , 0.5 , 0.5 , 0.5 ,
2154 1. , 1. , 1. , 1. , 1. , 1. , 1. , 1. ,
2155 0.5 , 0.5 , 0.5 , 0.5 , 0.5 , 0.5 , 0.5 , 0.5 };
2157 static constexpr
double coefs[coef] =
2158 {5, -2, 5, -5, -7, -2, 10, 2, -5, 5};
2167 void kernel (
double *xs,
double *ret)
override;
2168 enum { prob = 3, coef = 15 };
2171 static constexpr
rdims dims = { .
prob = prob, .coef = coef };
2172 static constexpr
double fmin = 1.49048296359;
2173 static constexpr
double minloc[prob] = {1,1,1};
2175 static constexpr
double centres[coef * prob] = {
2192 static constexpr
double e_mat[coef * prob] = {
2209 static constexpr
double coefs[coef] =
2210 {4, 4, 4, 4, -12, 1, 3, -2, 5, -2, 1, -2, -2, -2, -2};
2216 void kernel (
double *xs,
double *ret)
override;
2217 enum { prob = 3, coef = 1 };
2220 static constexpr
rdims dims = { .
prob = prob, .coef = coef };
2221 static constexpr
double fmin = -5;
2222 static constexpr
double minloc[prob] = {0.1, 0.8, 0.3};
2223 static constexpr
double centres[coef * prob] = {0.1, 0.8, 0.3};
2224 static constexpr
double e_mat[coef * prob] = {5, 5, 5};
2225 static constexpr
double coefs[coef] = {-5};
2231 void kernel (
double *xs,
double *ret)
override;
2232 enum { prob = 3, coef = 1 };
2235 static constexpr
rdims dims = { .
prob = prob, .coef = coef };
2236 static constexpr
double fmin = -5;
2237 static constexpr
double minloc[prob] = {0.1, 0.8, 0.3};
2238 static constexpr
double centres[coef * prob] = {0.1, 0.8, 0.3};
2239 static constexpr
double e_mat[coef * prob] = {7, 7, 7};
2240 static constexpr
double coefs[coef] = {-5};
2246 void kernel (
double *xs,
double *ret)
override;
2247 enum { prob = 4, coef = 2 };
2250 static constexpr
rdims dims = { .
prob = prob, .coef = coef };
2251 static constexpr
double fmin = -0.84221700966;
2252 static constexpr
double minloc[prob] = {0.1858, 0.6858, 0.1858, 0.4858};
2253 static constexpr
double centres[coef * prob] =
2254 {0.3, 0.8, 0.3, 0.6, 0.4, 0.9, 0.4, 0.7};
2255 static constexpr
double e_mat[coef * prob] = {5, 5, 5, 5, 5, 5, 5, 5};
2256 static constexpr
double coefs[coef] = {-5, 5};
2262 void kernel (
double *xs,
double *ret)
override;
2263 enum { prob = 7, coef = 3 };
2266 static constexpr
rdims dims = { .
prob = prob, .coef = coef };
2267 static constexpr
double fmin = -0.47089199032;
2268 static constexpr
double minloc[prob] = {
2269 0.3125, 0.9166, 0.3125, 0.7062, 0.0397, 0.9270, 0.5979};
2270 static constexpr
double centres[coef * prob] = {
2271 0.3, 0.8, 0.3, 0.6, 0.2, 0.8, 0.5,
2272 0.8, 0.3, 0.8, 0.2, 0.5, 0.2, 0.8,
2273 0.2, 0.7, 0.2, 0.5, 0.4, 0.7, 0.3};
2275 static constexpr
double e_mat[coef * prob] = {
2276 4, 4, 4, 4, 4, 4, 4,
2277 4, 4, 4, 4, 4, 4, 4,
2278 4, 4, 4, 4, 4, 4, 4};
2280 static constexpr
double coefs[coef] = {-5, 5, 5};
2286 void kernel (
double *xs,
double *ret)
override;
2287 enum { prob = 8, coef = 5 };
2290 static constexpr
rdims dims = { .
prob = prob, .coef = coef };
2291 static constexpr
double fmin = -1.42906223657;
2292 static constexpr
double minloc[prob] =
2293 {0.2677, 0.8696, 0.2677, 0.6594, 0.1322, 0.9543, 0.0577, 0.295};
2294 static constexpr
double centres[coef * prob] = {
2295 0.3, 0.8, 0.3, 0.6, 0.2, 0.8, 0.2, 0.4,
2296 0.3, 0.8, 0.3, 0.6, 0.2, 0.8, 0.2, 0.4,
2297 0.3, 0.8, 0.3, 0.6, 0.2, 0.8, 0.2, 0.4,
2298 0.8, 0.3, 0.8, 0.2, 0.5, 0.2, 0.5, 0.7,
2299 0.2, 0.7, 0.2, 0.5, 0.4, 0.3, 0.8, 0.8};
2301 static constexpr
double e_mat[coef * prob] = {
2302 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5,
2303 1, 1, 1, 1, 1, 1, 1, 1,
2304 4, 4, 4, 4, 4, 4, 4, 4,
2305 4, 4, 4, 4, 4, 4, 4, 4,
2306 4, 4, 4, 4, 4, 4, 4, 4};
2308 static constexpr
double coefs[coef] = {-1, 2, -5, 4, 4};
2314 void kernel (
double *xs,
double *ret)
override;
2315 enum { prob = 2, coef = 10 };
2318 static constexpr
rdims dims = { .
prob = prob, .coef = coef };
2319 static constexpr
double fmin = -8.67263950474;
2320 static constexpr
double minloc[prob] = {0.4, 0.8};
2321 static constexpr
double centres[coef * prob] = {
2333 static constexpr
double e_mat[coef * prob] = {
2345 static constexpr
double coefs[coef] =
2346 { -5, 4, -5, 5, 4, 2, -10, -4, 5, 5};
2352 void kernel (
double *xs,
double *ret)
override;
2353 enum { prob = 2, coef = 10 };
2356 static constexpr
rdims dims = { .
prob = prob, .coef = coef };
2357 static constexpr
double fmin = -6.59763663216;
2358 static constexpr
double minloc[prob] = {0.7, 0.1};
2359 static constexpr
double centres[coef * prob] = {
2371 static constexpr
double e_mat[coef * prob] = {
2383 static constexpr
double coefs[coef] =
2384 {5, -4, 5, -7, -4, -2, 10, 4, -2, -5};
2390 void kernel (
double *xs,
double *ret)
override;
2391 enum { prob = 4, coef = 10 };
2394 static constexpr
rdims dims = { .
prob = prob, .coef = coef };
2395 static constexpr
double fmin = -7.74993665759;
2396 static constexpr
double minloc[prob] = {0.9, 0.4, 0.9, 0.8};
2397 static constexpr
double centres[coef * prob] = {
2409 static constexpr
double e_mat[coef * prob] = {
2421 static constexpr
double coefs[coef] =
2422 {5, -4, 5, -5, 4, -2, 10, -8, -2, -5};
2428 void kernel (
double *xs,
double *ret)
override;
2429 enum { prob = 5, coef = 7 };
2432 static constexpr
rdims dims = { .
prob = prob, .coef = coef };
2433 static constexpr
double fmin = -3.08088199150;
2434 static constexpr
double minloc[prob] =
2435 {0.2723, 0.4390, 0.8277, 0.3390, 0.3695};
2436 static constexpr
double centres[coef * prob] = {
2437 1, 0.3, 0.1, 0.4, 0.1,
2438 0.9, 0.7, 0, 0.5, 0.8,
2439 0.5, 0.6, 0.6, 0.5, 0.5,
2440 0.2, 0.2, 0.4, 0, 0.3,
2441 0, 0.6, 1, 0.1, 0.8,
2442 0.3, 0.5, 0.8, 0, 0.2,
2443 0.8, 1, 0.1, 0.1, 0.5};
2445 static constexpr
double e_mat[coef * prob] = {
2454 static constexpr
double coefs[coef] =
2455 {3, 4, -4, 2, -3, -2, 6};
2463 void kernel (
double *xs,
double *ret)
override;
2464 enum { prob = 7, coef = 9 };
2467 static constexpr
rdims dims = { .
prob = prob, .coef = coef };
2468 static constexpr
double fmin = -0.17296443752;
2469 static constexpr
double minloc[prob] =
2470 {0.7, 0.1369, 0.6, 0.2, 0.5, 0.3, 0.2};
2471 static constexpr
double centres[coef * prob] = {
2472 0, 0.4, 0, 0.3, 0.2, 0.3, 0.6,
2473 0.6, 0.8, 0.6, 0.7, 0.7, 0.1, 0.4,
2474 0.7, 0.7, 0, 0.5, 0, 0.6, 0.8,
2475 0.7, 0.5, 0.6, 0.2, 0.5, 0.3, 0.2,
2476 0.9, 0.3, 0.9, 0.8, 0.7, 1, 0,
2477 0.8, 0.1, 0.1, 0.2, 0.6, 0.1, 0.3,
2478 0.2, 0.7, 0.5, 0.5, 1, 0.7, 0.4,
2479 0.4, 0.1, 0.4, 0.1, 0.9, 0.2, 0.9,
2480 0.6, 0.9, 0.1, 0.4, 0.8, 0.7, 0.1};
2482 static constexpr
double e_mat[coef * prob] = {
2483 0.2, 0.4, 0.4, 0.6, 1. , 0.4, 0.2,
2484 1. , 0.4, 0.6, 0.6, 0.8, 0.4, 0.8,
2485 1. , 0.8, 0.4, 0.2, 0.8, 0.2, 0.8,
2486 0.8, 0.2, 0.4, 1. , 0.2, 0.4, 1. ,
2487 0.4, 0.8, 0.8, 0.8, 1. , 1. , 0.6,
2488 0.2, 0.4, 1. , 0.4, 0.2, 0.8, 1.2,
2489 0.2, 1.2, 0.4, 0.2, 0.8, 1. , 1.2,
2490 0.2, 0.2, 1. , 0.2, 0.8, 1. , 1. ,
2491 0.6, 1. , 0.2, 0.6, 0.4, 1. , 0.8};
2493 static constexpr
double coefs[coef] =
2494 {1, 2, 3, -4, 3, -2, -1, -2, 5};
2500 void kernel (
double *xs,
double *ret)
override;
2501 enum { prob = 8, coef = 10 };
2504 static constexpr
rdims dims = { .
prob = prob, .coef = coef };
2505 static constexpr
double fmin = -4.14042985928;
2506 static constexpr
double minloc[prob] =
2507 {0.2, 0.6, 0.4, 0.8, 0.4, 0.3, 0.9, 0.8};
2508 static constexpr
double centres[coef * prob] = {
2509 0.5, 0, 0.3, 0.5, 0.8, 0.3, 0.2, 1,
2510 0.6, 0.1, 0.6, 0.9, 0.2, 0, 0.5, 0.9,
2511 0.9, 0.9, 0, 1, 0.5, 1, 0.1, 0,
2512 0.2, 0.6, 0.4, 0.8, 0.4, 0.3, 0.9, 0.8,
2513 0.2, 0.8, 0.5, 0.1, 0.7, 0.2, 0.4, 0.8,
2514 0.2, 0.1, 0.7, 0.6, 0.2, 1, 0.6, 0.2,
2515 0.5, 0.8, 0.6, 0, 0.6, 0.3, 0.3, 0.2,
2516 0, 0, 0.2, 0.8, 0.9, 0.1, 0.1, 0.5,
2517 0.9, 0.9, 0.1, 0.3, 0.9, 0.8, 0.7, 0,
2518 0.3, 0.2, 0.9, 0.8, 0.9, 0.3, 0, 0.7};
2520 static constexpr
double e_mat[coef * prob] = {
2521 25, 20, 20, 30, 20, 25, 15, 5,
2522 30, 30, 5, 25, 10, 25, 15, 10,
2523 10, 20, 25, 10, 15, 30, 25, 10,
2524 10, 5, 15, 10, 5, 5, 10, 20,
2525 20, 15, 30, 20, 5, 5, 25, 20,
2526 25, 5, 30, 5, 20, 30, 20, 30,
2527 25, 15, 15, 15, 5, 15, 20, 25,
2528 25, 20, 10, 25, 5, 25, 15, 25,
2529 30, 20, 10, 5, 5, 25, 25, 20,
2530 15, 15, 15, 15, 10, 25, 30, 5};
2532 static constexpr
double coefs[coef] =
2533 {1, 2, 3, -5, 3, -2, -1, -2, 5, 2};
2539 void kernel (
double *xs,
double *ret)
override;
2540 enum { prob = 3, coef = 11 };
2543 static constexpr
rdims dims = { .
prob = prob, .coef = coef };
2544 static constexpr
double fmin = -1.55349754312;
2545 static constexpr
double minloc[prob] = {0.5, 0.8, 0.3};
2546 static constexpr
double centres[coef * prob] = {
2559 static constexpr
double e_mat[coef * prob] = {
2572 static constexpr
double coefs[coef] =
2573 {1, 2, 3, -5, 3, -2, 1, -2, 5, 2, -2};
2579 void kernel (
double *xs,
double *ret)
override;
2580 enum { prob = 3, coef = 11 };
2583 static constexpr
rdims dims = { .
prob = prob, .coef = coef };
2584 static constexpr
double fmin = -1.76908456233;
2585 static constexpr
double minloc[prob] = {0.6, 0.3, 0.5};
2586 static constexpr
double centres[coef * prob] = {
2599 static constexpr
double e_mat[coef * prob] = {
2612 static constexpr
double coefs[coef] =
2613 {-10, 2, 3, 5, 3, 2, 1, 2, 5, 2, 2};
2619 void kernel (
double *xs,
double *ret)
override;
2620 enum { prob = 4, coef = 11 };
2623 static constexpr
rdims dims = { .
prob = prob, .coef = coef };
2624 static constexpr
double fmin = -7.69432628909;
2625 static constexpr
double minloc[prob] =
2626 {0.4493, 0.0667, 0.9083, 0.2710};
2627 static constexpr
double centres[coef * prob] = {
2640 static constexpr
double e_mat[coef * prob] = {
2653 static constexpr
double coefs[coef] =
2654 {-10, 2, 3, 5, 3, 2, 1, 2, 5, 2, 2};
2953 #endif // __SYNTHETIC_H_ Definition: synthetic.hpp:2283
Definition: synthetic.hpp:1461
Definition: synthetic.hpp:2669
Definition: synthetic.hpp:228
Definition: synthetic.hpp:1004
Definition: synthetic.hpp:1983
Definition: synthetic.hpp:2387
Definition: synthetic.hpp:2789
std::vector< param_t * > sspace_t
Definition: types.hpp:318
Definition: types.hpp:150
Definition: synthetic.hpp:2164
double get_opt()
Definition: synthetic.hpp:123
Definition: synthetic.hpp:525
Definition: synthetic.hpp:1077
Definition: synthetic.hpp:1047
Definition: synthetic.hpp:380
u_int get_dims()
Definition: synthetic.hpp:132
Definition: synthetic.hpp:1802
Definition: synthetic.hpp:1685
Definition: synthetic.hpp:2497
dist_type
Definition: synthetic.hpp:1711
Definition: synthetic.hpp:2854
Definition: synthetic.hpp:1516
Definition: synthetic.hpp:2259
Definition: synthetic.hpp:1304
Definition: synthetic.hpp:1108
Definition: optimiser.hpp:147
Definition: benchmark.hpp:38
Definition: synthetic.hpp:1951
Definition: synthetic.hpp:2349
Definition: synthetic.hpp:1669
Definition: synthetic.hpp:2773
Definition: synthetic.hpp:809
Definition: synthetic.hpp:542
Definition: synthetic.hpp:617
Defines the main types used in the program.
int prob
Definition: synthetic.hpp:1696
Definition: synthetic.hpp:488
Definition: synthetic.hpp:363
Definition: synthetic.hpp:857
Definition: synthetic.hpp:1771
Definition: synthetic.hpp:1411
Definition: synthetic.hpp:2757
Definition: synthetic.hpp:2706
Definition: synthetic.hpp:313
Definition: synthetic.hpp:1177
Definition: synthetic.hpp:1156
Definition: synthetic.hpp:2460
Definition: synthetic.hpp:346
void set_properties(std::vector< properties > p)
Definition: synthetic.hpp:112
Definition: synthetic.hpp:2941
inst::set get_opt_param()
Definition: synthetic.hpp:118
Definition: synthetic.hpp:2243
sspace::sspace_t * get_search_space()
Definition: synthetic.hpp:105
Definition: synthetic.hpp:1571
Definition: synthetic.hpp:193
Definition: synthetic.hpp:1091
Definition: synthetic.hpp:729
Definition: synthetic.hpp:1639
Definition: synthetic.hpp:1909
Definition: synthetic.hpp:794
void update_opt(double opt)
Definition: synthetic.hpp:128
Definition: synthetic.hpp:2828
Definition: synthetic.hpp:926
Definition: synthetic.hpp:2121
Definition: synthetic.hpp:684
Definition: synthetic.hpp:1336
Definition: synthetic.hpp:1601
Definition: synthetic.hpp:2721
Definition: synthetic.hpp:826
Definition: synthetic.hpp:2616
Definition: synthetic.hpp:412
Definition: synthetic.hpp:1210
Definition: synthetic.hpp:877
Definition: synthetic.hpp:2739
Definition: synthetic.hpp:508
This file defines the base class for benchmarks.
Definition: synthetic.hpp:1228
Definition: synthetic.hpp:474
Definition: synthetic.hpp:968
Definition: synthetic.hpp:2687
Definition: synthetic.hpp:2047
This file contains definitions for 'core' logic.
Definition: synthetic.hpp:1587
Definition: benchmark.hpp:81
Definition: synthetic.hpp:1062
Definition: synthetic.hpp:1396
Definition: synthetic.hpp:2228
Definition: synthetic.hpp:212
Definition: synthetic.hpp:556
Definition: synthetic.hpp:166
Definition: synthetic.hpp:62
Definition: synthetic.hpp:1692
Definition: synthetic.hpp:779
Definition: synthetic.hpp:1871
Definition: synthetic.hpp:2808
Definition: synthetic.hpp:586
Definition: synthetic.hpp:1124
Definition: synthetic.hpp:571
Definition: synthetic.hpp:2081
Definition: synthetic.hpp:1374
properties
Definition: synthetic.hpp:43
Definition: synthetic.hpp:1288
Definition: synthetic.hpp:445
Definition: synthetic.hpp:1192
Definition: synthetic.hpp:1139
Definition: synthetic.hpp:2576
Definition: synthetic.hpp:396
Definition: synthetic.hpp:2311
Definition: synthetic.hpp:330
Definition: synthetic.hpp:1428
Definition: synthetic.hpp:987
Definition: synthetic.hpp:948
Definition: synthetic.hpp:1655
Definition: synthetic.cpp:29
Definition: synthetic.hpp:1547
Definition: synthetic.hpp:2015
Definition: synthetic.hpp:2425
Definition: synthetic.hpp:2876
Definition: synthetic.hpp:2213
Definition: synthetic.hpp:748
Definition: synthetic.hpp:843
Definition: synthetic.hpp:601
Definition: synthetic.hpp:2926
int coef
Definition: synthetic.hpp:1699
Definition: synthetic.hpp:1709
Definition: synthetic.hpp:1622
Definition: synthetic.hpp:1266
Definition: synthetic.hpp:1833
Definition: synthetic.hpp:2910
Definition: synthetic.hpp:430
Definition: synthetic.hpp:460
Definition: synthetic.hpp:1251
Definition: synthetic.hpp:2536
Definition: synthetic.hpp:1446