Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
МО Новая Метода.doc
Скачиваний:
32
Добавлен:
17.06.2016
Размер:
2.4 Mб
Скачать

Приложение 9. Минимизация целевых функций в MicrosoftEcxel8.0

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

Работа с 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 до 65536, а столбцы именуются от 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-е.

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

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

Ввод формул

(Если вы умеете использовать формулы в MS Excel и назначать имена ячейкам, то можете переходить к следующему разделу)

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

Все формулы в Excelначинаются со знака равенства. Последовательность символов без знака равенства воспринимается как текст. Рассмотрим пример. Введите в ячейку А1 формулу:

=1+2

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

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

В формуле можно использовать адреса ячеек, для получения значений из этих ячеек. Например, введите в ячейку А1 значение 10. А в ячейку А2 введите формулу

=А1

В ячейке А2 появится значение 10. Теперь измените значение ячейки А1 на 9. Значение в ячейке А2 также поменяется. Теперь измените формулу в ячейке А2 на:

=А1^(1/2)

В ячейке А2 появится значение корня квадратного от значения А1, то есть 3.

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

Имена нужны для более удобной записи формул. Теперь введите в ячейку А5 значение 1. Введите в ячейку В5 формулу:

=Х^2+Х+1

В ячейке В5 появится значение 1*1+1+1=3.

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

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

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

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

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

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

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

Рассмотрим такой пример:пусть дана начальная точкаx1=(1,2)t, дано направлениеp=(-2, -1)t, дан шаг по направлениюa=0,55 найти конечную точкуx2=x1+a*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 направление, то есть в В1 –2, в В2 –1. Введем в ячейку С1 шаг по направлению, то есть введем в С1 0,55. В ячейкахD1,D2 окажутся координаты конечной точки:

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

Для закрепления материала, с помощьюMSExcel97 вычислите значениеf(1 ; 2) иf(-1,105 ; 1,1), для функции Розенброка:f(x,y)=100*(y-x^2)^2+ +(1-x)^2, с точностью шесть знаков после запятой. Ответ: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\Solver.xla, существует файл с примерамиC:\ProgramFiles\MicrosoftOffice\Office\Examples\Solvsamp.xls, в котором есть краткий обзор надстройки и шесть примеров. Но в файлеSolvsamp.xlsза постановочной частью задачи иногда трудно различить само решение. Поэтому рассмотрим работу надстройки Поиск Решения на примере: найдем минимум функцииf(x,y)=x^2+y^2 для начального приближенияx=1,y=2 при отсутствии ограничений. Запустим MS Excel 97. Присвоим ячейкам А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 формулу =x+y. Введем в ячейку В3 значение 4. Присвоим переменнымxиyначальные приближения 1 и 2 соответственно. Рабочий лист будет иметь вид:

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

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

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

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

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

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

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

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

3. функции Розенброка при условиях: 2<=x<=3,x^2+3*y= -10.

Ответ:

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

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

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