Lea cuidadosamente las siguientes **indicaciones** antes de comenzar el examen de prueba:
- Para resolver el examen edite este mismo archivo y renómbrelo de la siguiente manera: *Examen1_ApellidoNombre*, donde *ApellidoNombre* corresponde a su apellido paterno con la inicial en mayúscula, seguido de su primer nombre con la inicial en mayúscula **sin acentos**. 
- Resuelva los puntos en el espacio provisto. Si requiere agregar más celdas para código o escritura, hágalo.
- Recuerde que también se está evaluando su capacidad de interpretar los resultados. Escriba sus interpretaciones/conclusiones en celdas utilizando *Markdown*.
- El formato de presentación de todo el examen en general debe ser adecuado. Use tamaños de letra, colores, etiquetas, etcétera.


## Optimización de funciones escalares usando `sympy` 

**Enunciado.** Se desea fabricar un caja sin tapa en forma de paralelepípedo con base cuadrada y área lateral de $432$ unidades cuadradas. ¿Qué dimensiones debe tener la caja de máximo volumen?

*Note que las dimensiones son el lado de la base cuadrada $l$ y la altura de la caja $h$*.

- Encuentre el volumen de la caja (paralelepípedo) en función del lado de la base cuadrada $l$, $V(l)$. También provea el dominio de la función para que tenga sentido.

Realice este punto usando fórmulas en LaTeX, en celdas Markdown.

-  Usando `sympy` maximice la función $V(l)$ en su dominio.

- ¿Cuáles son las dimensiones $l$ y $h$ de la caja de volumen máximo?

##  Programación lineal

**Enunciado.** Una fábrica de carrocerías de automóviles y camiones tiene dos sedes. En la sede 1, para hacer la carrocería de un camión se invierten siete (7) días-operario, mientras que para hacer la carrocería de un coche se precisan dos (2) días-operario. En la sede 2 se invierten tres (3) días operario tanto en carrocerías de camión como de coche. Por limitaciones de mano de obra y maquinaria, la sede 1 dispone de 300 días-operario, y la sede 2 de 270 días-operario. Si las ganancias que se obtienen por cada carrocería de camión son de 6 millones de pesos y por cada carrocería de coche 2 millones de pesos, ¿Cuántas unidades de carrocerías de coche y camión se deben producir en cada sede para maximizar las ganancias?

La siguiente tabla resume toda la información.


```python
import pandas as pd
```


```python
df = pd.DataFrame(columns=['Camion', 'Coche', 'Disponible'], index = ['Sede1_dias-operario', 'Sede2_dias-operario', 'Ganancia por unidad'])
df.loc['Sede1_dias-operario', :] = [7, 2, 300]
df.loc['Sede2_dias-operario', :] = [3, 3, 270]
df.loc['Ganancia por unidad', :] = [6, 2, None]
df
```




<div>
<style scoped>
    .dataframe tbody tr th:only-of-type {
        vertical-align: middle;
    }

    .dataframe tbody tr th {
        vertical-align: top;
    }

    .dataframe thead th {
        text-align: right;
    }
</style>
<table border="1" class="dataframe">
  <thead>
    <tr style="text-align: right;">
      <th></th>
      <th>Camion</th>
      <th>Coche</th>
      <th>Disponible</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <th>Sede1_dias-operario</th>
      <td>7</td>
      <td>2</td>
      <td>300</td>
    </tr>
    <tr>
      <th>Sede2_dias-operario</th>
      <td>3</td>
      <td>3</td>
      <td>270</td>
    </tr>
    <tr>
      <th>Ganancia por unidad</th>
      <td>6</td>
      <td>2</td>
      <td>None</td>
    </tr>
  </tbody>
</table>
</div>



- Defina las variables, escriba la función a minimizar junto con las restricciones, explicando detalladamente cada paso (usando fórmulas en LaTeX, en celdas Markdown).

- Escriba el problema en la forma 
\begin{equation}
\begin{array}{ll}
\min_{\boldsymbol{x}} & \boldsymbol{c}^T\boldsymbol{x} \\
\text{s. a. }        & \boldsymbol{A}_{eq}\boldsymbol{x}=\boldsymbol{b}_{eq} \\
                     & \boldsymbol{A}\boldsymbol{x}\leq\boldsymbol{b},
\end{array}
\end{equation}

proporcionando $\boldsymbol{c}$, $\boldsymbol{A}$ y $\boldsymbol{b}$ ($\boldsymbol{A}_{eq}$ y $\boldsymbol{b}_{eq}$, de ser necesario) como arreglos de `NumPy` (no es necesario escribir en LaTeX el problema en la forma indicada, solo proporcionar las matrices como arreglos de `NumPy`).

Resuelva el problema utilizando la función `linprog` del módulo `optimize` de la librería `scipy`. ¿Cuántas unidades de carrocerías de coche y camión se deben producir en cada sede para maximizar las ganancias?

## Ajuste de curvas 

**Enunciado**. El archivo `forest_land_data.csv` contiene información histórica anual de porcentajes de área forestal de México y Colombia desde el año 1990 hasta el año 2014. La primer columna corresponde a los años, la segunda y tercer columna corresponded al porcentaje de área forestal de México y Colombia, respectivamente.

Tomado de: https://data.worldbank.org/indicator/AG.LND.FRST.ZS?locations=MX&view=chart.

-  Importar los datos en un DataFrame de pandas.

- Usando los años como variable independiente $x$ y el porcentaje de área forestal de México como variable dependiente $y$, ajustar polinomios de grado 1 hasta grado 3.

Mostrar en un solo gráfico los datos de población contra los años, y los polinomios ajustados.

Graficar el error cuadrático acumulado contra el número de términos. ¿Cuál es el polinomio que mejor se ajusta?

-  Con el polinomio que eligió en el punto anterior, estime en qué año el porcentaje de área forestal disminuirá al 30%.

Concluya.

## Clasificador binario 

**Enunciado.** Se tienen datos de temperatura (grados Celsius) y presion (kPa) de cien muestras de agua. Además, para cada una de ellas se tiene una clasificación si su estado es líquido (1) o vapor (0). Los datos son los siguientes:


```python
import numpy as np
x1 = 40 + 60*np.random.random((100,))
x2 = 0.6 + 100*np.random.random((100,))
X = np.array([x1, x2]).T
Y = (X[:,1] > 0.6*np.exp(17.625*X[:,0]/(X[:,0]+243.04)))*1
```


```python
import matplotlib.pyplot as plt
%matplotlib inline
plt.figure(figsize = (8,6))
plt.scatter(X[:,0], X[:,1], c=Y)
plt.show()
```

- Diseñe un clasificador binario por regresión logística lineal utilizando únicamente los primeros 80 datos. Muestre, además, el gráfico de la división del clasificador con los puntos de entrenamiento.

- Utilice el clasificador diseñado para clasificar a los 20 datos restantes. ¿Cuántas moléculas de agua se clasifican bien? ¿Cuántas mal?

f0eb08396ebf5cc5193bea3d46db8c8018509860
ipynb
Jupyter Notebook
Modulo1/ProblemasAdicionales.ipynb
douglasparism/SimulacionM2018
85953efb86c7ebf2f398474608dfda18cb4cf5b8
MIT
Modulo1/ProblemasAdicionales.ipynb
douglasparism/SimulacionM2018
85953efb86c7ebf2f398474608dfda18cb4cf5b8
MIT
Modulo1/ProblemasAdicionales.ipynb
douglasparism/SimulacionM2018
85953efb86c7ebf2f398474608dfda18cb4cf5b8
MIT
Qwen/Qwen-72B
1. YES
2. YES