From fb778e34917b7dbd5448869fe0ee9e5ecb137584 Mon Sep 17 00:00:00 2001 From: Juan Marín Noguera Date: Thu, 4 Feb 2021 20:47:11 +0100 Subject: Tema 6 grafos --- graf/n.lyx | 14 + graf/n4.lyx | 6 +- graf/n6.lyx | 2099 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 2118 insertions(+), 1 deletion(-) create mode 100644 graf/n6.lyx (limited to 'graf') diff --git a/graf/n.lyx b/graf/n.lyx index 2e3d8e1..eb0f076 100644 --- a/graf/n.lyx +++ b/graf/n.lyx @@ -269,6 +269,20 @@ filename "n5.lyx" \end_inset +\end_layout + +\begin_layout Chapter +Programación lineal entera +\end_layout + +\begin_layout Standard +\begin_inset CommandInset include +LatexCommand input +filename "n6.lyx" + +\end_inset + + \end_layout \end_body diff --git a/graf/n4.lyx b/graf/n4.lyx index ec6340b..6674531 100644 --- a/graf/n4.lyx +++ b/graf/n4.lyx @@ -1927,7 +1927,11 @@ problema del viajero \series bold del viajante \series default - en una red + ( +\series bold +de comercio +\series default +) en una red \begin_inset Formula $(V,E,\ell)$ \end_inset diff --git a/graf/n6.lyx b/graf/n6.lyx new file mode 100644 index 0000000..e296d0b --- /dev/null +++ b/graf/n6.lyx @@ -0,0 +1,2099 @@ +#LyX 2.3 created this file. For more info see http://www.lyx.org/ +\lyxformat 544 +\begin_document +\begin_header +\save_transient_properties true +\origin unavailable +\textclass book +\begin_preamble +\usepackage{amssymb} +\end_preamble +\use_default_options true +\begin_modules +algorithm2e +\end_modules +\maintain_unincluded_children false +\language spanish +\language_package default +\inputencoding auto +\fontencoding global +\font_roman "default" "default" +\font_sans "default" "default" +\font_typewriter "default" "default" +\font_math "auto" "auto" +\font_default_family default +\use_non_tex_fonts false +\font_sc false +\font_osf false +\font_sf_scale 100 100 +\font_tt_scale 100 100 +\use_microtype false +\use_dash_ligatures true +\graphics default +\default_output_format default +\output_sync 0 +\bibtex_command default +\index_command default +\paperfontsize default +\spacing single +\use_hyperref false +\papersize default +\use_geometry false +\use_package amsmath 1 +\use_package amssymb 1 +\use_package cancel 1 +\use_package esint 1 +\use_package mathdots 1 +\use_package mathtools 1 +\use_package mhchem 1 +\use_package stackrel 1 +\use_package stmaryrd 1 +\use_package undertilde 1 +\cite_engine basic +\cite_engine_type default +\biblio_style plain +\use_bibtopic false +\use_indices false +\paperorientation portrait +\suppress_date false +\justification true +\use_refstyle 1 +\use_minted 0 +\index Index +\shortcut idx +\color #008000 +\end_index +\secnumdepth 3 +\tocdepth 3 +\paragraph_separation indent +\paragraph_indentation default +\is_math_indent 0 +\math_numbering_side default +\quotes_style french +\dynamic_quotes 0 +\papercolumns 1 +\papersides 1 +\paperpagestyle default +\tracking_changes false +\output_changes false +\html_math_output 0 +\html_css_as_file 0 +\html_be_strict false +\end_header + +\begin_body + +\begin_layout Standard +Un +\series bold +modelo +\series default + o +\series bold +problema de programación lineal entera +\series default + es un modelo de programación u optimización lineal al que se le añade la + restricción de que algunas o todas las variables deben ser enteras. + El modelo general es +\begin_inset Formula +\begin{align*} + & \max & \sum_{i=1}^{n}c_{i}x_{i}\\ + & & \sum_{i=1}^{n}a_{ij}x_{i} & \leq b_{j}, & & \forall j\in\{1,\dots,m\},\\ + & & x_{i} & \geq0, & & \forall i\in\{1,\dots,n\},\\ + & & x_{i} & \in\mathbb{Z}, & & \forall i\in I\subseteq\{1,\dots,n\}. +\end{align*} + +\end_inset + + +\end_layout + +\begin_layout Standard +El problema es +\series bold +entero puro +\series default + si +\begin_inset Formula $I=\{1,\dots,n\}$ +\end_inset + + y +\series bold +entero mixto +\series default + en otro caso. + Como en la programación lineal, se pueden hacer transformaciones como cambiar + el sentido de optimización del problema, el sentido de una restricción + o el signo de una variable; convertir una restricción de igualdad en dos + de desigualdad, o transformar una variable no restringida en dos variables + positivas. +\end_layout + +\begin_layout Standard +Llamamos +\series bold +relajación lineal +\series default + de un problema de programación lineal entera al resultado de eliminar de + este las +\series bold +restricciones de integridad +\series default +, las de la forma +\begin_inset Formula $x_{i}\in\mathbb{Z}$ +\end_inset + +. + El valor óptimo de la relajación lineal es mejor o igual al del problema + entero. +\end_layout + +\begin_layout Standard +Si +\begin_inset Formula $x\in\mathbb{R}^{m}$ +\end_inset + + e +\begin_inset Formula $y\in\mathbb{R}^{n}$ +\end_inset + +, llamamos +\begin_inset Formula $[x,y]:=(x_{1},\dots,x_{m},y_{1},\dots,y_{n})\in\mathbb{R}^{n+m}$ +\end_inset + +; si +\begin_inset Formula $A\in{\cal M}_{n\times p}(\mathbb{R})$ +\end_inset + + y +\begin_inset Formula $B\in{\cal M}_{n\times q}(\mathbb{R})$ +\end_inset + +, llamamos +\begin_inset Formula $[A,B]:=(c_{ij})\in{\cal M}_{n\times(p+q)}(\mathbb{R})$ +\end_inset + + dada por +\begin_inset Formula $c_{ij}:=a_{ij}$ +\end_inset + + para +\begin_inset Formula $j\leq p$ +\end_inset + + y +\begin_inset Formula $c_{ij}:=b_{i(j-p)}$ +\end_inset + + para +\begin_inset Formula $j>p$ +\end_inset + +, y escribimos +\begin_inset Formula $[x_{1},\dots,x_{n}]:=[x_{1},[x_{2},\dots,x_{n}]]$ +\end_inset + + para +\begin_inset Formula $n>2$ +\end_inset + + y +\begin_inset Formula $[x_{1}]:=x_{1}$ +\end_inset + +. +\end_layout + +\begin_layout Standard +Como +\series bold +teorema +\series default +, sean +\begin_inset Formula $A\in{\cal M}_{n\times p}(\mathbb{Q})$ +\end_inset + +, +\begin_inset Formula $G\in{\cal M}_{n\times q}(\mathbb{Q})$ +\end_inset + +, +\begin_inset Formula $b\in\mathbb{Q}^{n}$ +\end_inset + +, +\begin_inset Formula $P:=\{[x,y]\in\mathbb{R}^{p+q}:Ax+Gy\leq b\}$ +\end_inset + + y +\begin_inset Formula $S:=\{[x,y]\in P:x\in\mathbb{Z}^{p}\}$ +\end_inset + +, existen +\begin_inset Formula $A'\in{\cal M}_{n\times p}(\mathbb{Q})$ +\end_inset + +, +\begin_inset Formula $G'\in{\cal M}_{n\times q}(\mathbb{Q})$ +\end_inset + + y +\begin_inset Formula $b'\in\mathbb{Q}^{n}$ +\end_inset + + tales que +\begin_inset Formula $\text{ec}S=\{[x,y]:A'x+G'y\leq b'\}$ +\end_inset + +. + Si algunos coeficientes son irracionales, la envoltura convexa del conjunto + factible puede no ser un poliedro. + +\series bold +Demostración: +\series default + Sean +\begin_inset Formula $S:=\{(x,y)\in\mathbb{Z}^{2}:y\leq\sqrt{2}x,x\geq0,y\geq0\}$ +\end_inset + + y +\begin_inset Formula $C:=\{(x,y):y<\sqrt{2}x,x\geq0,y\geq0\}\cup\{0\}$ +\end_inset + +. + Como para +\begin_inset Formula $x\in\mathbb{Z}$ +\end_inset + + es +\begin_inset Formula $\sqrt{2}x\notin\mathbb{Z}$ +\end_inset + +, +\begin_inset Formula $S\subseteq C$ +\end_inset + +. + Sean +\begin_inset Formula $a,b\in C$ +\end_inset + +, +\begin_inset Formula $t\in[0,1]$ +\end_inset + + y +\begin_inset Formula $p:=(1-t)a+tb$ +\end_inset + +, si uno de +\begin_inset Formula $a$ +\end_inset + + o +\begin_inset Formula $b$ +\end_inset + + es 0, por ejemplo +\begin_inset Formula $a$ +\end_inset + +, entonces +\begin_inset Formula $p=(tb_{1},tb_{2})$ +\end_inset + +, que es 0 si +\begin_inset Formula $t=0$ +\end_inset + + y en otro caso cumple las otras condiciones, y en otro caso +\begin_inset Formula $p$ +\end_inset + + +\begin_inset Quotes cld +\end_inset + +hereda +\begin_inset Quotes crd +\end_inset + + las otras condiciones de +\begin_inset Formula $a$ +\end_inset + + y +\begin_inset Formula $b$ +\end_inset + +. + Por tanto +\begin_inset Formula $C$ +\end_inset + + es conexo y +\begin_inset Formula $\text{ec}S\subseteq C$ +\end_inset + +. + Además, +\begin_inset Formula $0\in S$ +\end_inset + + y para +\begin_inset Formula $(x,y)\in C\setminus\{0\}$ +\end_inset + +, como +\begin_inset Formula $x>0$ +\end_inset + +, +\begin_inset Formula $\frac{y}{x}<\sqrt{2}$ +\end_inset + + y existen +\begin_inset Formula $p,q\in\mathbb{Z}$ +\end_inset + + con +\begin_inset Formula $\frac{p}{q}\in[\frac{y}{x},\sqrt{2})$ +\end_inset + +, luego +\begin_inset Formula $(q,p)\in S$ +\end_inset + + y, como +\begin_inset Formula $(q,0)\in S$ +\end_inset + + y +\begin_inset Formula $p>q\frac{y}{x}$ +\end_inset + +, +\begin_inset Formula $(q,q\frac{y}{x})\in\text{ec}S$ +\end_inset + + y +\begin_inset Formula $(q\frac{x}{q},q\frac{y}{x}\frac{x}{q})=(x,y)\in\text{ec}S$ +\end_inset + +, luego +\begin_inset Formula $C\subseteq\text{ec}S$ +\end_inset + +. + Así, +\begin_inset Formula $C=\text{ec}S$ +\end_inset + +, pero +\begin_inset Formula $C$ +\end_inset + + no es un poliedro. +\end_layout + +\begin_layout Standard +Sean +\begin_inset Formula $A\in{\cal M}_{m\times n}(\mathbb{Q})$ +\end_inset + +, +\begin_inset Formula $b\in\mathbb{Q}^{m}$ +\end_inset + + y +\begin_inset Formula $P:=\{x\in\mathbb{R}^{n}:Ax\leq b\}$ +\end_inset + +, si +\begin_inset Formula $P_{I}:=\text{ec}(P\cap\mathbb{Z}^{n})\neq\emptyset$ +\end_inset + +, para +\begin_inset Formula $c\in\mathbb{R}^{n}$ +\end_inset + +, +\begin_inset Formula $\{c\cdot x\}_{x\in P_{I}}$ +\end_inset + + está acotado superiormente si y sólo si lo está +\begin_inset Formula $\{c\cdot x\}_{x\in P}$ +\end_inset + +. +\end_layout + +\begin_layout Section +Matrices totalmente unimodulares +\end_layout + +\begin_layout Standard +\begin_inset ERT +status open + +\begin_layout Plain Layout + + +\backslash +sremember{OL} +\end_layout + +\end_inset + + +\end_layout + +\begin_layout Standard +Sean +\begin_inset Formula $A\in{\cal M}_{m\times n}(\mathbb{R})$ +\end_inset + + de rango +\begin_inset Formula $m$ +\end_inset + + (por tanto +\begin_inset Formula $m\leq n$ +\end_inset + +), +\begin_inset Formula $b\in\mathbb{R}^{m}$ +\end_inset + + y +\begin_inset Formula $c\in\mathbb{R}^{n}$ +\end_inset + +. + [...] Llamamos +\begin_inset Formula $A_{1},\dots,A_{n}$ +\end_inset + + a las columnas de +\begin_inset Formula $A$ +\end_inset + + [...]. +\end_layout + +\begin_layout Standard +Dado +\begin_inset Formula $S\subseteq\{1,\dots,n\}$ +\end_inset + +, la submatriz +\begin_inset Formula $B\in{\cal M}_{m}(\mathbb{R})$ +\end_inset + + formada por las columnas de +\begin_inset Formula $A$ +\end_inset + + con índice en +\begin_inset Formula $S$ +\end_inset + + es +\series bold +básica +\series default + si es de rango máximo. + Entonces, de las variables +\begin_inset Formula $x_{1},\dots,x_{n}$ +\end_inset + +, [...] +\begin_inset Formula $x_{k}$ +\end_inset + + es una +\series bold +variable básica +\series default + [...] si +\begin_inset Formula $k\in S$ +\end_inset + + [...] ([...] +\begin_inset Formula $N$ +\end_inset + + es la submatriz formada por las columnas de +\begin_inset Formula $A$ +\end_inset + + con índice no en +\begin_inset Formula $S$ +\end_inset + +). +\end_layout + +\begin_layout Standard +[...] Si +\begin_inset Formula $S=\{s_{1},\dots,s_{m}\}$ +\end_inset + + y +\begin_inset Formula $\{1,\dots,n\}\setminus S=\{t_{1},\dots,t_{n-m}\}$ +\end_inset + + con +\begin_inset Formula $s_{1}<\dots0} & & \forall i +\end{alignat*} + +\end_inset + +Esto evita los ciclos que no contengan a 0, por lo que todos los nodos están + en el mismo ciclo. +\end_layout + +\begin_deeper +\begin_layout Standard +Sea +\begin_inset Formula $x$ +\end_inset + + una solución factible, si +\begin_inset Formula $x$ +\end_inset + + tuviera un ciclo que no contuviera al 0, como +\begin_inset Formula $1\,2\cdots k1$ +\end_inset + +, entonces +\begin_inset Formula $u_{i}-u_{i+1}+n\leq n-1$ +\end_inset + + para +\begin_inset Formula $i\in\{1,\dots,k-1\}$ +\end_inset + + y +\begin_inset Formula $u_{k}-u_{1}+n\leq n-1$ +\end_inset + +, y sumando todo queda +\begin_inset Formula $kn\leq kn-1\#$ +\end_inset + +. + Recíprocamente, sea +\begin_inset Formula $x$ +\end_inset + + la representación por variables de un ciclo hamiltoniano, llamamos +\begin_inset Formula $u_{i}:=t$ +\end_inset + + si +\begin_inset Formula $i$ +\end_inset + + es el +\begin_inset Formula $t$ +\end_inset + +-ésimo vértice visitado en el ciclo después del 0. + Entonces, para +\begin_inset Formula $(i,j)\in E$ +\end_inset + + con +\begin_inset Formula $i,j\neq0$ +\end_inset + +, si +\begin_inset Formula $x_{ij}=0$ +\end_inset + +, +\begin_inset Formula $u_{i}-u_{j}x_{2}]$ +\end_inset + + ( +\begin_inset Formula $y=1$ +\end_inset + + si +\begin_inset Formula $x_{1}>x_{2}$ +\end_inset + + e +\begin_inset Formula $y=0$ +\end_inset + + en otro caso), tomamos +\begin_inset Formula $M$ +\end_inset + + lo suficientemente grande y añadimos +\begin_inset Formula $x_{1}-x_{2}-My\leq0$ +\end_inset + +, +\begin_inset Formula $x_{2}-x_{1}+(1+M)y\leq M$ +\end_inset + + e +\begin_inset Formula $y\in\{0,1\}$ +\end_inset + +. + De esta forma, si +\begin_inset Formula $x_{1}>x_{2}$ +\end_inset + +, con +\begin_inset Formula $y=1$ +\end_inset + + tenemos +\begin_inset Formula $x_{1}-x_{2}-M\leq0$ +\end_inset + + y +\begin_inset Formula $x_{2}-x_{1}+(1+M)\leq-1+1+M=M$ +\end_inset + + pero con +\begin_inset Formula $y=0$ +\end_inset + + tenemos +\begin_inset Formula $x_{1}-x_{2}>0\#$ +\end_inset + +, y si +\begin_inset Formula $x_{1}\le x_{2}$ +\end_inset + +, con +\begin_inset Formula $y=0$ +\end_inset + + tenemos +\begin_inset Formula $x_{1}-x_{2}\leq0$ +\end_inset + + y +\begin_inset Formula $x_{2}-x_{1}\leq M$ +\end_inset + + pero con +\begin_inset Formula $y=1$ +\end_inset + + tenemos +\begin_inset Formula $x_{2}-x_{1}+1+M\geq1+M>M\#$ +\end_inset + +. +\end_layout + +\begin_layout Standard +Dadas dos variables reales +\begin_inset Formula $x_{1}$ +\end_inset + + y +\begin_inset Formula $x_{2}$ +\end_inset + +, para definir +\begin_inset Formula $z\geq\min\{x_{1},x_{2}\}$ +\end_inset + +, hacemos que se cumpla una de +\begin_inset Formula $z\geq x_{1}$ +\end_inset + + y +\begin_inset Formula $z\geq x_{2}$ +\end_inset + +, y para definir +\begin_inset Formula $z\leq\max\{x_{1},x_{2}\}$ +\end_inset + +, hacemos que se cumpla una de +\begin_inset Formula $z\leq x_{1}$ +\end_inset + + y +\begin_inset Formula $z\leq x_{2}$ +\end_inset + +. +\end_layout + +\begin_layout Standard +Si +\begin_inset Formula $x_{1},x_{2}\in\{0,1\}$ +\end_inset + +, para definir +\begin_inset Formula $y:=\min\{x_{1},x_{2}\}$ +\end_inset + + añadimos +\begin_inset Formula $y\leq x_{1}$ +\end_inset + +, +\begin_inset Formula $y\leq x_{2}$ +\end_inset + +, +\begin_inset Formula $y\geq x_{1}+x_{2}-1$ +\end_inset + + e +\begin_inset Formula $y\in\{0,1\}$ +\end_inset + +, y para definir +\begin_inset Formula $y:=\max\{x_{1},x_{2}\}$ +\end_inset + + añadimos +\begin_inset Formula $y\geq x_{1}$ +\end_inset + +, +\begin_inset Formula $y\geq x_{2}$ +\end_inset + +, +\begin_inset Formula $y\leq x_{1}+x_{2}$ +\end_inset + + e +\begin_inset Formula $y\in\{0,1\}$ +\end_inset + +. +\end_layout + +\end_body +\end_document -- cgit v1.2.3