Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
чм.doc
Скачиваний:
26
Добавлен:
09.02.2015
Размер:
2.48 Mб
Скачать

10. Формулы методов переменной метрики

Метод

Рекуррентное соотношение

Дэвидона–Флетчера– Пауэлла

Бройдена–Флетчера– Шенно

Бройдена–Флетчера– Гольдфарба–Шенно

Мак-Кормика

Бройдена

Пирсона-2

Пирсона-3

Проекции Заутендийка

В таблице приняты следующие обозначения:

, , .

11. Минимизация целевых функций в MicrosoftExcel97

Общие сведения

Работа с Excelпохожа на работу сMSWord. Проведем аналогии:

  • при создании нового файла Wordназывает его Документ 1, Документ 2 и т. д.;Excelназывает Книга 1, Книга 2 и т. д.;

  • расширение Word-а (*.doc); расширениеExcel(*.xls);

  • документ Wordсостоит из страниц, а книгаExcelсостоит из листов, которые можно добавлять, удалять, копировать, переименовывать и т. д.;

  • работа команд Открыть, Закрыть, Создать, Сохранить, Сохранить какиз менюФайл вообще идентична.

ЗапустимExcel97 и ознакомимся с основными элементами его интерфейса.

………………………………

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

Работа со строкой меню, строкой состояния и панелями инструментов также аналогична работе с этими элементами в MSWord.

Рассмотрим подробней строку формул. Если при запуске Excelотсутствует строка формул, ее необходимо вывести на экран, так как она будет активно использоваться. Для этого: нажать пункт менюСервис, выбрать командуПараметры…. После появления диалогового окна перейти на вкладкуВиди поставить галочкустроку состояния.

Лист Excelсостоит из ячеек. Содержимое активной ячейки всегда появляется в строке формул. Информацию в ячейку можно вводить непосредственно или с использованием строки формул. При непосредственном вводе информация фиксируется нажатием клавиш со стрелками, клавишEnter,Tab,Shift-Enter,Shift-Tab(и некоторых других) с переходом (по умолчанию) соответственно вниз, влево, вверх, вправо. При вводе информации с помощью строки формул сначала надо щелкнуть на ней мышью, затем набрать нужную информацию и зафиксировать ее нажатием клавишиEnter. Строка формул удобней при вводе в ячейку, уже содержащую какое-либо значение, так как в этом случае оно не затирается, в отличие от непосредственного ввода.

Ячейки расположены в столбцах и строках, причем строки нумеруются от 1 до 65 536, а столбцы именуются отAдоIV(A,B,C, …,Z,AA,AB,AC, …,IV). Каждая ячейка имеет свой адрес. Адрес ячейки получается, если приставить к имени столбца номер строки. Например,C12 – ячейка, стоящая в столбце С и строке с номером 12. Существует понятие абсолютного адреса, детально рассматривать которое мы не будем. Отметим только, что абсолютные адреса записываются с символом $ перед именем строки или столбца (например: $C$12, $C12,C$12). Абсолютные адреса обозначают ту же ячейку, что и относительные (но при копировании формулы, содержащей относительные и абсолютные адреса, указывающие на одну и ту же ячейку, в копии этой формулы адреса будут показывать на разные ячейки (относительные адреса настраиваются, абсолютные – нет)). В поле адреса строки формул выводится адрес активной ячейки.

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

Для того чтобы изменить шрифт, цвет, стиль написания, нарисовать границы ячейки, используется команда Ячейки из менюФормат. Эта же команда служит для вывода заданного числа десятичных знаков после запятой. Например, для отображения двух знаков после запятой необходимо выбрать командуЯчейки из менюФормат, перейти на вкладкуЧисло, выбрать из спискаЧисловые форматы форматЧисловой, и в полеЧисло десятичных знаков ввести число 2.

Если содержимое ячейки в ней не помещается, ячейка выглядит примерно так:

В этом случае нужно увеличить ширину столбца, в котором находится ячейка. Для этого: сделать ячейку активной, выбрать команду Столбец из менюФормат, а затем в открывшемся меню – командуШирина…, в появившемся окне ввести новую ширину. Ширину столбцов можно изменить, перетаскивая границу между заголовками столбцов.

Для передвижения от ячейки к ячейке используются клавиши со стрелками, клавиши Home,End,Page-Up,Page-Down. Полосы прокрутки вExcelимеют то же назначение, что и вWord.

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

Рис. П.9.1 Рис. П.9.2

Для закрепления материалаввести в ячейки рабочего листаExcelданные следующим образом: в ячейку А1 ввести текст «Это пример 1», в ячейку В1 – текст «Это пример 2», отрегулировать ширину столбцов так, чтобы значения можно было прочитать, в ячейку А2 ввести число 3,14 и отобразить его с тремя знаками после запятой, в ячейку В2 ввести число 2,71 и отобразить его с одним знаком после запятой. После выполненных действий рабочий лист должен выглядеть, как показано на рис. П.9.2.

Ввод формул

Электронная таблица не была бы таковой, если бы не возможность использования формул.

Все формулы в Excelначинаются со знака равенства. Последовательность символов без знака равенства воспринимается как текст. Рассмотрим пример. Если ввести в ячейку А1 формулу «=1+2» и нажатьEnter, то в ячейке А1 появится значение 3. Но если сделать активной ячейку А1, то в строке формул будет выведена формула «=1+2».

При написании формулы можно использовать операции: +, –, /, *, ^n (возведение в степеньn(n– вещественное число)) и функцииMSExcel(например, EXP(x) – возвращает числое в степениx). При написании формулы приоритет операторов задается скобками и старшинством операций.

В формуле можно использовать адреса ячеек для получения значений, содержащихся в них. Например, если ввести в ячейку А1 значение 9, а в ячейку А2 – формулу «=А1^(1/2)», в ячейке А2 появится значение корня квадратного из значения А1, т. е. 3. Если теперь изменить значение ячейки А1 на 4, то значение в ячейке А2 поменяется на 2.

Ячейке может быть присвоено имя. Например, чтобы ячейке А5 присвоить имя Х, необходимо выделить ячейку А5, щелкнуть мышью на поле адреса в строке формул, ввести в этом поле Х, нажать Enter. Если теперь выделить (сделать активной) ячейку А5, то в поле адреса будет выведено имя Х.

Имена нужны для более удобной записи формул. Например, если ввести в ячейку А5 значение 1, а в ячейку В5 формулу: «=Х^2+Х+1», то в ячейке В5 появится значение 12+1+1=3.

Аналогично можно вычислять значения функций нескольких переменных. (Например: =X*X+Y*Y– но для этого надо также определить имяYдля какой-либо ячейки).

Правила присвоения имен ячейкам:

  1. имя должно начинаться с буквы, обратной косой черты \ или символа подчеркивания _;

  2. в имени могут использоваться только буквы, цифры, обратная косая черта и символ подчеркивания;

  3. нельзя использовать имена, которые могут трактоваться как адреса ячеек;

  4. в качестве имен могут использоваться одиночные буквы, за исключением R,C;

  5. пробелы в именах недопустимы.

Рассмотрим такой пример:пусть дана начальная точкаx1=(1, 2)t, дано направлениеp = (–2, –1)t, дан шаг по направлению α = 0,55; найти точкуx2 =x1 + αp.

Решение.Присвоим ячейкам А1, А2 именах_1,х_2соответственно (это будут координаты начальной точки), а ячейкам В1, В2 именар_1,р_2(это будут координаты вектора, задающего направление). Присвоим ячейке С1 имяа(это шаг по направлению). Введем в ячейкиD1,D2 формулы:

«= x_1 + a*p_1»,

«= x_2 +a*p_2»,

соответственно (это координаты конечной точки). Теперь можно приступить к вычислениям. Введем в ячейки А1, А2 начальную точку, т. е. в А1 введем 1, в А2 введем 2. Введем в ячейки В1, В2 направление, т. е. –2 и –1 соответственно, а в ячейку С1 – шаг по направлению, т. е. 0,55. В ячейках D1,D2 окажутся координаты конечной точки:

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

Для закрепления материала, с помощьюMSExcelвычислите значенияf(1; 2) иf(–1.105; 1.1), для функции Розенброка:f(x,y) = 100(y –x2)2+ (1 –x)2с точностью 6 знаков после запятой.

Ответ:f(1; 2) = 100.000000;f(–1,105; 1,1) = 5.895730.

Использование надстройки Поиск решения

MS Excel 97 ищет экстремумы целевых функций с помощью надстройки Solver.xla. Если эта надстройка не была установлена при инсталляции MS Excel 97, необходимо запустить процедуру инсталляции и установить ее. При стандартном, а не выборочном варианте инсталляции эта надстройка установлена и в меню Сервис есть командаПоиск решения…

Файл Solver.xlaна диске обычно расположен в каталоге:C:\ProgramFiles\MicrosoftOffice\Office\Library\Solver\, существует файл с примерамиC:\ProgramFiles\MicrosoftOffice\Office\Examples\Solvsamp.xls, в котором есть краткий обзор надстройки и 6 примеров. Однако в файлеSolvsamp.xlsза постановочной частью задачи иногда трудно увидеть само решение, поэтому рассмотрим работу надстройкиПоиск решенияна примере: найдем минимум функцииf(x,y) =x2+y2для начального приближенияx = 1,y = 2 при отсутствии ограничений. ЗапустимMSExcel97, присвоим ячейкам А1, А2 именаx,yсоответственно и введем в них значения 1 и 2. Введем в ячейку В1 формулу

«= x^2 +y^2».

Теперь можно изменять ячейки А1, А2 и наблюдать, как эти изменения повлияют на значение функции. В меню Сервис выберем командуПоиск решения…Появится диалоговое окноПоиск решения. В этом диалоговом окне в полеУстановить целевуювведем значениеB1 (в этой ячейке находится формула для целевой функции), установим переключательРавной:в положениеминимальному значению(так как ищем минимум), в полеИзменяя ячейки: введемx;y(потому что хотим найти минимум поxиy(в это поле можно было ввестиA1;A2, а можно было нажать кнопкуПредложитьи посмотреть что получится)). При вводе адресов ячеек в окнеПоиск решенияудобно пользоваться кнопкой

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

Заметим, что адреса ячеек автоматически изменяются на абсолютные.

Диалоговое окно при этом должно иметь вид

Нажмем кнопку Выполнить.MSExcelвыведет результаты поиска решения.

Решим ту же задачу, но при ограничениях: x+y= 4,x ≥ 2,y ≥ 1.

Введем в ячейку А3 формулу «= +y», в ячейку В3 – значение 4. Присвоим переменнымxиyначальные приближения 1 и 2 соответственно.

Рабочий лист будет иметь вид:

В меню Сервис выберем командуПоиск решения…Появится диалоговое окноПоиск решения, в котором уже заполнены все необходимые поля, кроме ограничений.

Нажмем кнопку Добавить, появится диалоговое окноДобавление ограничения. Заполним это окно так, как показано на рисунке (вводим ограничение А3 = В3 (т. е.x+y= 4)):

Нажмем кнопкуДобавить, введем ограничения наxтак, как показано на рисунке:

Аналогично добавим ограничение наy, нажмем кнопкуOK. В итоге диалоговое окноПоиск решения должно выглядеть так:

Нажмем кнопку Выполнить.MSExcelвыведет результаты поиска решения. Заметим, что с помощью кнопокИзменить иУдалить можно изменять и удалять ограничения.

Результат решения зависит от параметров поиска (точность, максимальное число итераций…). Чтобы изменить параметры поиска решения, в диалоговом окне Поиск решениянажимаем кнопкуПараметры.

Для закрепления материалазадайте начальную точку (0; 0)tи найдите минимум:

1) функции Розенброка f(x,y) = 100(y –x2)2+ (1 –x)2,

2) функции Розенброка по направлению p= (0.99; 0.11)t,

3) функции Розенброка при условиях: 2 ≤ x≤ 3,x2+ 3y= –10.

Ответ:

1) (0,999; 0,999)t,

2) (0,220; 0,244)t,

3) (2,000; –4,667)t.