\documentclass[11pt,spanish]{article}
%\usepackage[spanish]{babel}
\usepackage{graphicx}
\usepackage{amsmath}
%\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{epsfig,euscript}
%\usepackage[T1]{fontenc}
\usepackage{float}
\usepackage{multicol}
%\usepackage[hidelinks]{hyperref}
\usepackage{hyperref}
\usepackage[latin1]{inputenc}

\newtheorem{ejer}{Ejercicio}

\newcommand{\bej}{\begin{ejer} \rm}
\newcommand{\fej}{\end{ejer}}

\def\A{\mathbb{A}}
\def\C{\mathbb{C}}
\def \N{\mathbb{N}}
\def \P{\mathbb{P}}
\def \Q{\mathbb{Q}}
\def \R{\mathbb{R}}
\def \Z{\mathbb{Z}}


\def\d{\displaystyle}
\def\erf{\mbox{\rm erf}}
\def\dx{\ dx}
\topmargin-1cm \vsize=29.5cm \hsize=21cm
\leftmargin 1cm
\setlength{\textwidth}{14cm} \setlength{\textheight}{23cm}
\setlength{\evensidemargin}{0.0cm}
\def\iint{\int\hskip -7pt\int}


\begin{document}
\thispagestyle{empty}

\bigskip

\centerline{{\bf\Large \underline{\sc OPTIMIZACIÓN - 1er Cuatrimestre 2017}}}

\bigskip
\bigskip

\centerline{\bf\large  Trabajo Práctico 2 - Estudio de m\'etodos de Descenso}

\centerline{{\bf Fecha de entrega:} Viernes 26 de mayo.}
\bigskip
\medskip

\textbf{Objetivo del Trabajo:}

\medskip

El objetivo del trabajo es realizar un estudio exhaustivo de los m\'etodos de descenso trabajados en clase. En este caso,  el trabajo requerir\'a de la confecci\'on de un informe final con los resultados obtenidos. Las funciones y rutinas no necesitan ser dise\~nadas para el usuario, aunque sí deberán mantener los principios de programaci\'on que fueron delineados en las sucesivas clases y el c\'odigo deber\'a estar comentado. 

Se deber\'an implementar los siguientes algoritmos de descenso:

\begin{itemize}
\item[\bf A1] Gradiente: En donde $d_k=-\nabla f(x_k)$, 

\begin{itemize}
  \item con búsqueda lineal exacta de paso óptimo (comandos de Matlab: \newline \verb"fminsearch", \verb"fminunc"),
  \item con búsqueda lineal exacta de paso limitado como se describe en el Ejercicio 10 de la Práctica 2 (comando de Matlab: \verb"fminbnd"),
	\item con una búsqueda lineal de orden 0.
	\item con una búsqueda lineal inexacta (Armijo, Goldstein o Wolfe).
\end{itemize}
\item[\bf A2] Gradiente Conjugado que distinga cuadráticas de no cuadráticas.
\item[\bf A3] Algún algoritmo extra para cada grupo.
\end{itemize}

Los algoritmos anteriores deben tener las siguientes opciones con respecto al gradiente y al Hessiano:

\begin{itemize}
\item[\bf D1] Ingresarlos: Con lo cual el input sería algo de la forma $[f,\nabla f, Hf]$.
\item[\bf D2] Calcularlos num\'ericamente.
\end{itemize}

Estos algoritmos deber\'an ser implementados de manera que todos tengan como Inputs la funci\'on objetivo $f$ y un punto inicial $x_0$. Adem\'as habr\'a par\'ametros que pueden resumirse todos en una variable de \textit{opciones}.


Un ejemplo de opciones podr\'ia ser:

opciones=[MaxNumIter, tolGrad, tolIter, gradHess, alpha, beta, theta]

en donde:

\begin{itemize}
\item[Op1] MaxNumIter: M\'aximo n\'umero de iteraciones.
\item[Op2] tolGrad: tolerancia para determinar si el gradiente es cero.
\item[Op3] tolIter: tolerancia para determinar si dos iteraciones son iguales.
\item[Op4] gradHess: opción para ingresar el gradiente y el hessiano o para usar una rutina que los calcule.
\item[Op5] alpha,beta,theta: par\'ametros propios de un m\'etodo.
\item[Opn] alguna otra opci\'on que se considere pertinente.
\end{itemize}

Intentar que si diferentes m\'etodos usan iguales par\'ametros est\'en codificados de la misma manera.

En el archivo \verb"testFunctions.zip" hay un gran conjunto de funciones para implementar los algoritmos de minimizaci\'on. El mismo est\'a explicado \href{http://www.mathworks.com/matlabcentral/fileexchange/23147-test-functions-for-global-optimization-algorithms}{aquí}.


Tambi\'en se pueden encontrar funciones \href{http://en.wikipedia.org/wiki/Test_functions_for_optimization}{aquí}. 


\medskip

\textbf{Informe:}

\medskip
El informe deberá incluir tiempos de corrida de los algoritmos, distancia al m\'inimo (mejor aproximaci\'on conocida), parámetros que se usaron para las corridas. Un breve an\'alisis comparativo 
de los m\'etodos para las funciones estudiadas. Además deberá explicar por qué funciona el método del gradiente con paso limitado, demostrando el Ejercicio 10 de la Práctica 2.



\end{document}
