\documentclass[12pt]{article}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{hyperref}
\usepackage[russian]{babel}
\usepackage[margin=0.8in]{geometry}
% 2 2 3 1.5
\addtolength{\oddsidemargin}{.4in}
\addtolength{\evensidemargin}{.4in}
% \addtolength{\textwidth}{.2in}
\title{\large \textbf{О мультипликативном представлении целевой функции в программе \href{http://files.libv.org/contour/}{Contour}}}
\author{\normalsize Смирнов В.А., \href{http://libv.org}{http://libv.org}}
\begin{document}
\maketitle
Традиционно мультипликативная целевая функция представляется в виде среднего геометрического
\begin{equation} \label{eq:gmean}
Q=\left(\prod_i \Theta_i^{\gamma_i} \right)^\Gamma,\,
\Gamma=\left(\sum_i \gamma_i \right)^{-1}\,,
\end{equation}
где $\gamma_i$ -- весовые коэффициенты, отражающие предпочтения индивидуальных критериев качества.

В выражение (\ref{eq:gmean}) входят не исходные размерные (<<натуральные>>) индивидуальные критерии качества, а связанные с ними нормализованные безразмерные параметры $\Theta_i(Q_i)$, которые часто называют <<компонентными функциями>>.

Традиционно компонентные функции представляются в виде
\begin{equation} \label{eq:tsimple}
\Theta_i(Q_i)=\left(\frac{Q_i - Q_{i,min}}{Q_{i,max}-Q_{i,min}}\right)\,,
\end{equation}
где $Q_{i,min}$ и $Q_{i,max}$ -- наименьшее и наибольшее возможные значения индивидуального критерия $Q_i$, соответственно.

Такое представление имеет ряд существенных недостатков. Первый недостаток связан с необходимостью использования именно \textit{возможных} наименьшего и наибольшего значений -- это гарантирует выполнение условий $\Theta_i(Q_i) \geqslant 0$. Может оказаться, что как минимум одно из значений $Q_{i,min}$ или $Q_{i,max}$ находится <<далеко>> от области критериального пространства, представляющей наибольший интерес.

Обычно этот недостаток преодолевают искусственным сокращением отрезка $[Q_{i,min}$;$Q_{i,max}]$ -- переходом к наименьшему приемлемому наибольшему целесообразному значениям индивидуального критерия качества -- и дополнительным ограничением
\begin{equation} \label{eq:tusual}
\Theta_i(Q_i)=
	\begin{cases}
	0 & \Theta_i(Q_i) < 0 \\
	\Theta_i(Q_i), & 0 \leqslant \Theta_i(Q_i) \leqslant 1\,. \\
	1, & \Theta_i(Q_i) > 1
	\end{cases}
\end{equation}

Существенным является второй недостаток, связанный с тем, что задача может быть сформулирована не как минимизационная (максимизационная), а как задача приближения к заданной точке в критериальном пространстве. В этом случае представление (\ref{eq:tsimple}) в принципе непригодно.

Развитием мультипликативного представления целевой функции является переход от (\ref{eq:tsimple}) к представлению, которое не только гарантирует выполнение условий $\Theta_i(Q_i) \geqslant 0$, но и дает возможность решать задачи приближения к требуемому уровню индивидуального критерия. Именно, компонентные функции можно принять в виде:
\begin{equation} \label{eq:tdual}
\Theta_i(Q_i)=
	\begin{cases}
	\left(\frac{Q_i - Q_{i,min}}{С_i-Q_{i,min}}\right), & Q_{i,min} < Q_i < C_i \\
	\left(\frac{Q_{i,max}-Q_i}{Q_{i,max}-С_i}\right), & C_i < Q_i < Q_{i,max}\,, \\
	0 & \mbox{иначе}
	\end{cases}
\end{equation}
где $Q_{i,min}$ и $Q_{i,max}$ -- наименьшее и наибольшее приемлемые значения индивидуального критерия $Q_i$, соответственно, $C_i$ -- целевое значение индивидуального критерия $Q_i$.

Как и ранее, целевая функция принимается в виде среднего геометрического (\ref{eq:gmean}).

В программном обеспечении <<\href{http://files.libv.org/contour/}{Contour}>> представления (\ref{eq:tusual}) и (\ref{eq:tdual}) были впервые реализованы в 2001 году. В том виде, как это было сделано, эти представления включали дополнительный параметр в показателе степени:

\begin{equation} \label{eq:tusualR}
\Theta_i(Q_i)=
	\begin{cases}
	0 & \Theta_i(Q_i) < 0 \\
	\left(\frac{Q_i - Q_{i,min}}{Q_{i,max}-Q_{i,min}}\right)^{R_i} & 0 \leqslant \Theta_i(Q_i) \leqslant 1\,, \\
	1, & \Theta_i(Q_i)>1
	\end{cases}
\end{equation}
и
\begin{equation} \label{eq:tdualR}
\Theta_i(Q_i)=
	\begin{cases}
	\left(\frac{Q_i - Q_{i,min}}{С_i-Q_{i,min}}\right)^{R_i}, & Q_{i,min} < Q_i < C_i \\
	\left(\frac{Q_{i,max}-Q_i}{Q_{i,max}-С_i}\right)^{R_i}, & C_i < Q_i < Q_{i,max}\,, \\
	0 & \mbox{иначе}
	\end{cases}
\end{equation}
который возник после общения с разработчиками из Финляндии, заинтересовавшимися \href{http://files.libv.org/gradient/}{другой} моей программой.

По здравому размышлению, внесение дополнительного набора весовых коэффициентов приводит только к увеличению мировой энтропии. Начиная с текущей сборки, используются представления (\ref{eq:tusual}) и (\ref{eq:tdual}).

Для того, чтобы их использовать в программе \href{http://files.libv.org/contour/}{Contour}, необходимо подготовить текстовый файл (в текущей версии -- в кириллической кодировке Windows CP1251!), каждая строка которого имеет вид:

\begin{verbatim}
model "имя модели" B1 B2 ... Bn <combine1|combine2> Qmin [C] Q_max gamma
\end{verbatim}
	
Здесь \mbox{\bf model} -- ключевое слово, за которым следует заключенное в кавычки имя модели, после которого следуют все требуемые для нее параметры (десятичный разделитель должен соответствовать текущей системной локали Windows), далее должно следовать одно из двух ключевых слов \mbox{\bf combine1} или \mbox{\bf combine2}. В первом случае будет использовано соотношение (\ref{eq:tusual}) и должны быть указаны три параметра $Q_{min}$, $Q_{max}$ и весовой коэффициент $\gamma$. Во втором случае будет использовано соотношение (\ref{eq:tdual}) и должны быть указаны четыре параметра $Q_{min}$, целевое значение $C$, $Q_{max}$ и весовой коэффициент $\gamma$.

В результате будут построены линии равного уровня целевой функции, а на консоль будут выведены координаты (в тернарном пространстве), в которых она достигает своих минимального и максимального значений, а также сами эти значения.
Пример задачи есть в каталоге с программой: \mbox{\bf \href{http://files.libv.org/contour/final\_showdown.txt}{final\_showdown.txt}}. Это был финал моей кандидатской.

\end{document}
