Документ взят из кэша поисковой машины. Адрес оригинального документа : http://www.geol.msu.ru/deps/geochems/soft/ru/OptimS.doc
Дата изменения: Mon Dec 28 17:51:58 2015
Дата индексирования: Sun Apr 10 01:18:15 2016
Кодировка: koi8-r

OptimS: программа оптимизации свободных энергий Гиббса частиц водного
раствора по ультрафиолетовым спектрам поглощения


Руководство пользователя




Назначение программы

Интерпретация ультрафиолетовых спектров поглощения водными растворами
основана на законе Бугера-Ламберта-Бера (Bouguer-Lambert-Beer),
утверждающего, что величина поглощения (молекулами вещества) света,
проходящего через раствор, прямо пропорциональна концентрации поглощающих
молекул и длине пути света:

[pic], (1)

где A - величина поглощения ([pic] - логарифм отношения интенсивностей
входящего и выходящего пучка света), l - длина оптического пути (толщина
раствора), С - концентрация данного вида молекул в растворе, ? - константа
(коэффициент экстинкции), зависящая от длины волны света, но не зависящая
от концентрации поглощающего вещества.

Водный раствор содержит много частиц разного сорта, каждая из которых
имеет свои коэффициенты экстинкции (часто неизвестные). Поэтому, чтобы
получить возможность разделения влияния разных частиц, спектры поглощения
снимаются для нескольких растворов разного состава. Так как величины
поглощения, обусловленные разными частицами, складываются, то поглощение
света растворами может быть записано в следующей компактной форме:

[pic], (2)

где Aij - поглощение j-м раствором на i-й длине волны, ?ik - коэффициент
экстинкции k-й частицы на i-й длине волны, Ckj - концентрация k-й частицы в
j-м растворе. В этом выражении параметр l (длина оптического пути) опущен,
так как он обычно является величиной постоянной для всей серии измерений и,
таким образом, может быть включен в величину коэффициента экстинкции (таким
образом, коэффициенты экстинкции получаются масштабированными; если
требуется получить их абсолютные значения, это всегда можно сделать путем
их деления на l).

Спектрометры позволяют измерить величины поглощения света растворами
Aij. При известных концентрациях всех частиц Ckj из (2) методом наименьших
квадратов можно определить коэффициенты экстинкции ?ik. Однако концентрации
частиц, как правило, неизвестны, и их нужно рассчитывать. Если же
термодинамические свойства частиц тоже неизвестны, то задача интерпретации
спектров поглощения становится неопределенной. Таким образом, возникает
обратная термодинамическая задача: найти такие термодинамические свойства
частиц (свободные энергии или константы устойчивости комплексов), чтобы
рассчитанные по ним составы растворов и определенные по этим составам
коэффициенты экстинкции удовлетворяли соотношению (2) наилучшим образом (в
смысле наименьших квадратов).

Программа OptimS предназначена для решения описанной выше обратной
термодинамической задачи, то есть для уточнения (и оценки точности)
свободных энергий Гиббса небольшого числа частиц водного раствора по
ультрафиолетовым спектрам поглощения. Решение прямой термодинамической
задачи расчета химических равновесий в водных растворах выполняется с
помощью пакета HCh для Windows (версия 4.2 и выше).

Программа обрабатывает спектры поглощения, снятые для нескольких
растворов одной и той же химической системы (но с различными содержаниями
компонентов) при одних и тех же условиях (температуре, давлении и других
параметрах измерения). В программе предполагается, что оцифрованные
экспериментальные кривые представлены как функции длины волны и выражены в
абсолютных единицах поглощения.




Подготовка исходных данных

Исходные данные для программы готовятся пользователем на одном листе
рабочей книги MS Excel; программа записывает результаты расчетов в тот же
рабочий лист Excel.

Перед началом подготовки данных для программы OptimS необходимо с
помощью пакета HCh создать файл описания системы (файл типа System),
содержащей водный раствор. Из этого следует, в частности, что все частицы
исследуемого водного раствора должны присутствовать в базе данных Unitherm.

Исходные данные для программы OptimS готовятся с помощью программы MS
Excel (версии не ниже 97) в соответствии с форматом, описанном далее. Файл
с именем OptS_ex.xls является примером файла исходных данных для программы
OptimS. Он представляет собой рабочую книгу Excel с одним рабочим листом,
содержащим всю необходимую информацию задачи. Для удобства пользователя на
этапе освоения программы, на рабочем листе этого примера некоторые ячейки
снабжены комментарии, поясняющими правила подготовки исходных данных. Ниже
перечислены основные моменты, на которые надо обратить внимание.

В начале листа вводятся: название системы (ячейка A1 или B1); полный
путь к базе данных Unitherm, используемой для расчета равновесий; полное
имя файла типа System (включая путь), описывающего раствор; опции программы
Gibbs. Среди последних рекомендуется задавать опцию /s. Ряд опций может
понадобиться для задания различных режимов расчета коэффициентов активности
частиц водного раствора (подробности см. в документации к программе Gibbs).
Опция /g может оказаться полезной, если требуется заменить какие-либо
стандартные энергии частиц (см. описание файла типа *.stg).

Далее вводятся температура (в градусах Цельсия) и давление (в барах),
при которых снимались спектры поглощения.

Следующая пара параметров задает интервал длин волн, для которого будет
выполняться обработка спектров. Это позволяет легко менять обрабатываемый
диапазон спектров, не изменяя основную таблицу данных. Длины волн
указываются в нанометрах.

Затем задаются частицы водного раствора, участвующие в формировании
кривых поглощения. Здесь должны присутствовать все частицы, формирующие
спектры, независимо от того, планируется ли оптимизировать их свободные
энергии или нет. В соответствующем поле (ячейка B9) пользователь должен
явно указать количество поглощающих частиц (программа позволяет задавать от
одной до восьми частиц). В последующих строках (в колонке B) эти частицы
должны быть заданы своими именами, причем имена частиц должны быть указаны
в точности так, как они записаны в файле System. Справа от имени каждой
частицы (в столбце Initial) можно указать начальные значения их энергий -
это значения свободных энергий, с которых начнется оптимизация. Если
начальная энергия какой-либо частицы не задана, она будет рассчитана
программой OptimS автоматически сразу после открытия данного файла.

Следующая информация, необходимая для описания задачи - химические
составы водных растворов, поглощение которыми измерялось. Данные
представляются в виде таблицы, каждая строка которой представляет компонент
раствора, а число столбцов соответствует числу растворов. Для
определенности задачи необходимо, чтобы число растворов было не меньше, чем
число поглощающих частиц, заданное выше, а для устойчивости решения
желательно, чтобы оно заметно превосходило число частиц (по крайней мере,
вдвое). Каждая строка таблицы должна начинаться с химической формулы
компонента, за которой должны следовать моляльности этого компонента в
каждом из растворов. Так как составы растворов задаются в моляльностях,
количество воды здесь задавать не надо - программа сама добавит 1 кг воды в
каждый раствор. Если в каком-то растворе данный компонент отсутствует, в
соответствующей ячейке необходимо ввести значение 0 - пустые ячейки в этой
таблице не допускаются (так как число растворов нигде явно не задается,
программа определяет его по длине строк данной таблицы). Если введенный
компонент раствора не участвует в формировании спектров поглощения, в конце
соответствующей строки таблицы необходимо добавить слово "corrected" (или
знак "*"). Этот признак говорит программе о том, что основная таблица
представляет собой так называемый «скорректированный» спектр, т. е.
получена путем вычитания спектра «холостого» раствора из спектра «полного»
раствора.

В качестве примера рассмотрим файл OptS_ex. В этом файле представлены
данные по определению свойств хлоридных комплексов свинца. С этой целью
небольшая навеска PbCl2 добавлялась к различным растворам HCl и NaCl. При
интерпретации «полных» спектров поглощения этими растворами возникает
несколько проблем. Во-первых, количество поглощающих частиц в этих
растворах довольно большое, что сильно затрудняет интерпретацию результатов
(если они вообще могут быть получены). С другой стороны, значительная часть
сигнала поглощения обусловлена самой водой, и возникает проблема выделения
на его фоне сигнала, обусловленного исследуемыми частицами. Наконец,
существенную помеху могут создавать и другие частицы, присутствующие в
растворах в значительных концентрациях, но не представляющие для
исследователя никакого интереса. Эти проблемы решаются обычно путем
корректировки «полного» спектра поглощения путем простого вычитания из него
спектра поглощения «холостым» раствором, т. е. раствором такого же состава,
но без добавки PbCl2. Такая операция позволяет надеяться, что
«скорректированный» спектр определяется уже только добавленным компонентом,
т. е. в данном случае ионами PbCl-, PbCl2 и т. д.

В конце таблицы составов растворов рекомендуется добавить строку с
названием "d, g/cm3", содержащую плотности всех растворов при данных
температуре и давлении. Наличие этой строки позволит программе OpimS
выразить концентрации всех частиц в молярной шкале, что более точно
соответствует физическим законам поглощения. Если эту строку не вводить,
расчеты будут выполняться для моляльностей.

Еще одной необязательной строкой, относящейся к таблице растворов,
является строка с названием "weight", в которую можно поместить
относительные веса растворов. Если эта строка не вводится, программа
считает относительные веса всех растворов равными единице. Представляется
маловероятным, что разные растворы могут иметь разные точности определения
поглощения, поэтому вводить эту строку имеет смысл в тех случаях, когда
требуется временно исключить из рассмотрения какой-либо раствор (например,
при подозрении, что данные по этому раствору ошибочны). В этих случаях
можно задать вес временно исключаемого раствора равным нулю, оставив все
остальные веса равными единице. Не следует злоупотреблять этой
возможностью, так как уменьшение числа растворов неблагоприятно влияет на
устойчивость решения задачи.

Наконец, последней частью исходной информации является основная таблица
данных - значения величин поглощения, измеренные во всех растворах при всех
длинах волн. Первый столбец таблицы должен содержать длины волн (в
нанометрах) в возрастающем порядке, остальные - значения величин поглощения
для всех растворов (в том числе и временно исключенных). Каждый столбец
таблицы должен иметь заголовок: для первого это ключевое слово
"WaveLength", для остальных - названия растворов (выбираются произвольно,
однако не могут быть пустыми). Таблица данных является логическим
продолжением таблицы растворов, то есть столбцы обеих таблиц должны друг
другу соответствовать. Признаком конца таблицы данных является пустая
строка.

Возможны ситуации, когда при некоторой длине волны в некотором растворе
величина поглощения не определена. Эта ситуация может возникнуть, например,
если поглощение превышает максимальное значение, регистрируемое
спектрометром. В такой ситуации можно соответствующую ячейку таблицы
оставить пустой, однако, лучшим решением является занесение в нее значения
"#N/A" (в русской версии Excel - "#Н/Д"). Задание этого специального
значения облегчает автоматизированную корректировку спектральных данных
(вычитание спектров) с помощью Excel, так как при выполнении арифметических
операций Excel интерпретирует пустую ячейку как содержащую ноль.

После ввода всей исходной информации файл следует записать на диск в
формате рабочей книги Excel (расширение .xls).




Работа с программой OptimS

Главное окно программы состоит из текстового поля, содержащего имя
текущего рабочего файла данных, шести кнопок, позволяющих выполнить базовые
функции программы, и строки состояния. Сразу после запуска программы
пользователю доступна только кнопка открытия файла данных; когда файл
открыт, все остальные кнопки тоже становятся доступны. Кнопки управления
расположены в два ряда; последовательность расположения кнопок
соответствует наиболее употребительной последовательности операций,
совершаемых при интерпретации спектров поглощения. Ниже подробно описаны
функции, выполняемые при нажатии кнопок управления программой.



Кнопка Open/Refresh позволяет выполнить первоначальное открытие
рабочего файла (о его подготовке см. выше) или его повторное чтение, если
пользователь изменил какие-либо данные на рабочем листе. Программа OptimS
запускается независимо от программы Excel. При нажатии кнопки Open/Refresh
действия программы зависят от того, содержит ли текстовое поле имя рабочего
файла и активна ли в этот момент программа Excel.

Если поле имени файла пусто, и в памяти компьютера нет ни одной
открытой рабочей книги Excel (например, программа Excel еще не запущена),
нажатие кнопки Open/Refresh приводит к появлению стандартного диалога
открытия файла, в котором пользователь может выбрать рабочую директорию
(папку) и необходимую ему рабочую книгу Excel. После нажатия кнопки Open в
этом диалоге программа OptimS запускает Excel (если необходимо) и открывает
требуемый файл. В поле имени рабочего файла появляется имя только что
открытой рабочей книги, а текущим листом становится первый рабочий лист
книги.

Если поле имени файла пусто, но в памяти компьютера уже есть открытая
рабочая книга Excel, то имя этой книги будет помещено программой в поле
имени файла, а открытый рабочий лист этой книги станет текущим для
программы OptimS.

Если открытой рабочей книги Excel в памяти компьютера нет, но в поле
имени файла задано имя рабочей книги, программа пытается открыть этот файл,
предполагая, что он расположен в рабочей директории. Если файл не найден в
рабочей директории[1], выдается сообщение об ошибке.

Если в момент нажатия кнопки Open/Refresh в памяти компьютера уже
имеется открытый рабочий файл, но имя файла изменено пользователем, то
программа пытается дополнительно открыть указанную рабочую книгу. При
успешном открытии эта книга становится текущей (а текущим листом - ее
первый рабочий лист), иначе выдается сообщение об ошибке, а предыдущая
рабочая книга (и лист) сохраняется открытой, но не активной.

Как следует из описанного алгоритма, программа OptimS открывает, как
правило, первый лист указанной пользователем рабочей книги. Поэтому самым
простой и удобной организацией работы является расположение данных
спектрометрии именно на первых листах рабочих книг Excel. Если же по каким-
либо соображениям пользователю желательно обрабатывать подобные данные,
расположенные на произвольных листах рабочих книг, то открывать их
программой OptimS придется только одним способом: сначала программой Excel
открыть требуемый рабочий лист, и лишь затем в OptimS очистить поле имени
файла (если требуется) и нажать кнопку Open/Refresh.

Во всех случаях сразу после успешного открытия файла данных программа
OptimS начинает читать из него информацию и проверять ее на наличие ошибок
(это требует некоторого времени, будьте терпеливы). Если программа
обнаруживает ошибку во вводимых данных, она немедленно выдает
соответствующее сообщение; в этом случае кнопки, предназначенные для
обработки данных, остаются недоступными. Единственное, что пользователь
может сделать в этой ситуации (если он все еще хочет работать с этим
файлом) - это исправить обнаруженную ошибку непосредственно на рабочем
листе и снова нажать кнопку Open/Refresh. Если же открытие файла данных
произошло успешно (т. е. ошибок не было обнаружено), программа выполняет
несколько дополнительных операций: 1) вставляет в соответствующие ячейки
начальные значения свободных энергий частиц (если необходимо), 2) вычисляет
равновесные концентрации всех частиц во всех растворах по начальным
значениям энергий, 3) основываясь на этих концентрациях, вычисляет
коэффициенты экстинкции всех поглощающих частиц для каждого раствора и
каждой длины волны в заданном диапазоне, 4) рассчитывает
среднеквадратическую погрешность описания всех спектров поглощения и 5)
выводит это значение на рабочий лист. Если все эти операции выполнены
успешно, в строке состояния программы появляется строка "Initial data set.
Error: <погрешность>" и разблокируются все кнопки, что позволяет начать
работу с введенными данными.

Хотя все описанные выше действия выполняются при нажатии кнопки с
двойным названием Open/Refresh, между этими двумя операциями имеется
различие. "Open" означает, что все данные задачи считываются из файла на
диске и помещаются в рабочую книгу Excel, размещенную в памяти компьютера;
эти действия выполняются лишь один раз - при первоначальном открытии файла
данных. "Refresh" означает, что данные считываются не с диска, а из рабочей
книги, которая уже загружена в память; эта операция выполняется в случае,
когда данные на рабочем листе изменены пользователем или самой программой.
Записать изменения обратно на диск можно только средствами программы Excel
- либо командой Save (или Save As.) из меню File, либо путем
утвердительного ответа на запрос о сохранении файла при закрытии программы
Excel.

С точки зрения пользователя операция Refresh - это частный случай
операции Open, когда активным рабочим листом Excel является текущий рабочий
файл, а в текстовом поле файла уже стоит его имя. Работая с одним и тем же
файлом, пользователь может нажать кнопку Open/Refresh в любой момент. Это
может потребоваться, например, для получения нового значения погрешности
после изменения исходных энергий «вручную» или просто для проверки наличия
ошибок после изменения каких-либо данных на текущем рабочем листе.
Программа OptimS сама запускает операцию Refresh каждый раз, когда считает
это необходимым. Например, с этой операции начинаются почти все функции,
запускаемые остальными командными кнопками, если данные на текущем листе
были изменены пользователем и могут, таким образом, не совпадать с их
копией, имеющейся в памяти программы OptimS.



Кнопка Goal function вызывает диалог, позволяющий визуально оценить
качество спектральных данных и перспективы решения задачи оптимизации
свободных энергий частиц, а также во многих случаях ускорить это решение.

Оптимизация свободных энергий поглощающих частиц выполняется в
программе OptimS, как уже указывалось, методом наименьших квадратов. Это
означает, что критерием качества некоторого набора свободных энергий частиц
является выражение

[pic], (3)

где индекс i перечисляет все длины волн заданного диапазона, j - все
растворы, k - все поглощающие частицы; равновесные концентрации Ckj
получены по данному набору свободных энергий, а коэффициенты экстинкции ?ik
вычислены по Ckj и Aij методом наименьших квадратов с ограничивающими
условиями неотрицательности (?ik ( 0).

Свободные энергии поглощающих частиц считаются оптимальными, если
вычисленное для них значение S2 достигает минимально возможного значения.
Таким образом, целью программы является минимизация выражения (3), поэтому
саму функцию S2 называют целевой.

В действительности в программе OptimS в качестве целевой функции
показывается не (3), а среднее квадратическое отклонение s, которое
вычисляется как [pic], где nw - число длин волн, ns - число растворов, nc -
число поглощающих частиц. Среднеквадратическая ошибка s монотонно зависит
от S2 (т.е. они достигают минимума одновременно), но обладает тем
преимуществом, что имеет величину порядка погрешности единичного измерения
и почти не зависит от размерности задачи (диапазона частот, числа растворов
и числа поглощающих частиц).

Независимыми аргументами целевой функции являются стандартные свободные
энергии поглощающих частиц, то есть это - функция nc аргументов. Значения
энергий при выполнении этой функции всегда берутся из колонки Initial (см.
описание файла исходных данных).

Диалог "Goal Function" показывает, как изменяется целевая функция при
изменении стандартной свободной энергии выбранной переменной (поглощающей
частицы). Вдоль оси абсцисс на графике отложены приращения свободных
энергий, т.е. значение "0" на оси абсцисс (в центре графика) соответствует
текущей свободной энергии данной частицы, представленной в столбце Initial.
Можно просмотреть эту зависимость для всех аргументов (выбор частицы-
аргумента производится с помощью комбинированного управляющего элемента,
или колеса мыши, или нажатием на клавиатуре стрелок «вверх» и «вниз»).
Дополнительно можно посмотреть график изменения целевой функции в
направлении градиента, то есть при согласованном изменении всех независимых
переменных, обеспечивающем максимальную скорость ее изменения.

Единицей измерения свободных энергий в программе OptimS является
kJ/mol; при первоначальном открытии диалога диапазон изменения аргумента
составляет (10 kJ/mol. Две дополнительные кнопки с надписями "-" и "+"
позволяют изменять масштаб графика (по оси X) в сторону уменьшения или
увеличения соответственно. Измененный масштаб будет сохраняться для всех
последующих просмотров до нового явного его изменения.

Использование диалога "Goal function" может быть двояким. Прежде всего,
при первом запуске новой задачи рекомендуется всегда просматривать графики
изменения целевой функции вдоль разных направлений с целью оценки качества
матрицы данных. При хорошем качестве данных целевая функция должна иметь
гладкий вид и иметь явно выраженный минимум вдоль всех направлений. Если
это не так, то решение задачи оптимизации свободных энергий поглощающих
частиц вряд ли будет успешным - в этом случае надо пересмотреть постановку
задачи (например, убедиться в том, что выбор списка поглощающих частиц
сделан правильно) или перепроверить качество подготовки спектров.

Второе применение диалога - ускорение решения задачи оптимизации. Так
как целевая функция этой задачи существенно нелинейна (более того, она не
выпукла), для ее решения применяется итерационный алгоритм, требующий
задания хороших начальных приближений. А поскольку она не имеет
аналитического представления, все производные этой функции в процессе
итераций оцениваются численно, что делает процесс решения задачи довольно
долгим. Поэтому в диалоге "Goal function" предусмотрено средство изменения
начальных энергий поглощающих частиц. Делается это просто: достаточно
установить указатель мыши на желаемую точку графика и сделать двойной
щелчок - и то приращение свободной энергии, на которое указано мышью, будет
добавлено к текущей энергии данной частицы. После этого график целевой
функции будет заново перестроен (придется немного подождать), а новое
значение энергии частицы отобразится в столбце Initial на рабочем листе.
Одновременно будет пересчитано и отображено (под столбцом Initial) новое
значение среднеквадратической ошибки. Выполнив такую операцию несколько раз
для всех независимых переменных целевой функции, можно «вручную»
значительно приблизиться к оптимальному решению задачи, оставив программе
OptimS лишь задачу его окончательного уточнения, что значительно сократит
полное время оптимизации.

Разумеется, при таком «ручном» выборе начального приближения следует
избегать изменения энергий тех поглощающих частиц, которые по смыслу задачи
не должны быть оптимизированы в окончательном решении (например, если целью
работы является нахождение констант комплексообразования - в этом случае
энергии «опорных» частиц должны быть зафиксированы). По той же причине
следует со вниманием отнестись к «ручной» оптимизации энергий частиц по
графику градиента, так как в этом случае изменению энергий будут
подвергаться все поглощающие частицы.

В процессе работы с диалогом можно также вручную изменять энергии
частиц непосредственно на рабочем листе (в столбце Initial). Для того,
чтобы эти изменения отразились на графике, необходимо после этого явно
вызвать новое вычисление целевой функции для данной частицы (или градиента)
- в результате будет выполнено чтение данных с рабочего листа и построение
нового графика.

После того, как все начальные значения свободных энергий частиц
установлены, для продолжения работы с программой OptimS диалог "Goal
function" должен быть закрыт. Это можно сделать с помощью кнопки Close (в
верхнем правом углу диалога) или нажатием на клавиатуре комбинации клавиш
Alt+F4.



Кнопка Optimize запускает итерационный процесс уточнения свободных
энергий поглощающих частиц. Значения свободных энергий, с которых
начинается оптимизация, и набор подлежащих оптимизации энергий частиц
определяются следующим образом.

Если в момент нажатия кнопки Optimize в столбце Result для каких-либо
частиц стояли числа, то именно эти значения используются программой для
этих частиц как в начальной, так и во всех последующих итерациях. Другими
словами, энергии таких частиц не оптимизируются. Таким образом,
оптимизируются энергии только тех частиц, которые не содержали данных в
столбце Result (т.е. чьи ячейки были пусты) в момент нажатия кнопки
Optimize. Начальные энергии для оптимизируемых частиц берутся программой из
столбца Initial.

Если при запуске оптимизации программа обнаруживает, что все ячейки в
столбце Result уже содержат значения, она выдает сообщение о том, что
оптимизировать нечего и предлагает сохранить результаты (коэффициенты
экстинкции и расчетные величины поглощения). При положительном ответе
пользователя программа выводит эти данные на рабочий лист (см. раздел
«Результаты расчетов») и заканчивает операцию. Если же энергии, подлежащие
оптимизации, обнаружены, программа начинает итерации.

На каждой итерации программа OptimS вычисляет концентрации всех частиц
во всех растворах, рассчитывает по ним коэффициенты экстинкции всех
поглощающих частиц, вычисляет по этим данным «теоретические» величины
поглощения и, наконец, рассчитывает значение целевой функции в текущей
точке. Все эти вычисления производятся с учетом всех частиц независимо от
того, подлежат их энергии оптимизации или нет. Затем программа оценивает
частные производные целевой функции по оптимизируемым частицам,
соответствующим образом изменяет свободные энергии этих частиц и переходит
к следующей итерации. Итерации прекращаются, когда приращения энергий всех
оптимизируемых частиц становятся по абсолютной величине меньше, чем 0.1
J/mol.

В процессе итераций строка состояния программы OptimS содержит
информацию о ходе оптимизации: номер итерации и достигнутое значение
целевой функции. Кроме того, промежуточные результаты каждой итерации
отображаются на рабочем листе: столбец Result содержит текущие значения
свободных энергий частиц, а соответствующее значение целевой функции
представлено под этим столбцом (в строке "Mean err."). Следить за ходом
итераций будет удобнее, если до запуска процесса оптимизации
отформатировать числа в ячейках столбца Initial таким образом, чтобы они
представлялись, по крайней мере, с тремя знаками после десятичной точки
(т.е. с точностью до 1 J/mol) - это позволит легко визуально оценивать
сходимость процесса. Если, кроме того, непосредственно перед стартом
оптимизации выделить на рабочем листе ячейку с текущим значением целевой
функции ("Mean err." под столбцом Result), то можно будет по ходу итераций
видеть изменение этой величины в строке формул рабочего листа Excel со
значительно большей точностью, чем непосредственно в ячейке или строке
состояния программы OptimS.

В отличие от других операций программы, при запуске оптимизации не
появляется никакого диалогового окна, однако все управляющие кнопки
основного окна программы OptimS становятся недоступными (как, впрочем, и
рабочий лист Excel), так как выполнение других действий параллельно с
оптимизацией недопустимо. Если ход оптимизации кажется пользователю
неудовлетворительным или имеются другие причины для остановки процесса,
оптимизацию можно прекратить, щелкнув мышью на кнопке Close основного окна
OptimS (будьте внимательны: в остальных режимах эта кнопка закрывает
программу) или нажав на клавиатуре клавишу Esc. Программа сообщит, что
оптимизация прервана пользователем и предложит сохранить текущий результат.
Как правило, на этот запрос следует отвечать отрицательно, так как
программа имеет в виду не текущие значения свободных энергий (они в любом
случае остаются в столбце Result), а коэффициенты экстинкции и величины
поглощения, которые обычно нужны лишь как детализация окончательного
решения задачи.

Если на рабочем листе что-то было изменено после остановки оптимизации,
то при последующем нажатии кнопки Optimize программа выполнит операцию
Refresh, а затем начнет оптимизацию с самого начала. Если же после
остановки процесса оптимизации снова нажать кнопку Optimize, ничего не
изменив на рабочем листе, процесс оптимизации будет продолжен с текущей
точки и в том же режиме (правда, счет итерациям начнется с единицы). В этом
случае - при продолжении оптимизации - в порядке исключения оптимизируются
энергии, уже имеющие значения в столбце Result в момент нажатия кнопки
Optimize. Этим свойством программы можно воспользоваться и после
нормального завершения процесса, если возникнет желание уточнить
результаты.

При нормальном завершении процесса оптимизации программа OptimS без
лишних вопросов выводит на рабочий лист окончательные значения
коэффициентов экстинкции для всех поглощающих частиц и расчетные величины
поглощения для всех растворов. Эти данные вычисляются только для заданного
диапазона длин волн - от wl_start до wl_end (подробнее см. в разделе
«Результаты расчетов»). Затем программа переходит к расчету доверительных
интервалов (на уровне значимости 5%) для полученных значений свободных
энергий частиц. Этот расчет занимает довольно много времени, поэтому он
сопровождается показом индикатора выполнения (Progress bar). Если расчет
успешен, полученные доверительные интервалы (в kJ/mol) выводятся в столбец
"±" сразу за столбцом Result. Для фиксированных энергий (т.е. тех, которые
не оптимизировались) доверительные интервалы не вычисляются. Если
доверительные интервалы вычислить не удалось, выводится соответствующее
сообщение об ошибке. На этом оптимизации энергий заканчивается и командные
кнопки программы OptimS разблокируются.