Activa JavaScript para disfrutar de los vídeos de la Mediateca.
Programación Lineal
Ajuste de pantallaEl ajuste de pantalla se aprecia al ver el vídeo en pantalla completa. Elige la presentación que más te guste:
Hola, buenas tardes. En este vídeo vamos a ver cómo hacer un applet para solucionar
00:00:10
algunos de los problemas que aparecen en segundo de bachillerato en programación
00:00:14
lineal. Todas las instrucciones y todo lo que yo voy a comentar
00:00:18
lo tenéis en el fichero este
00:00:22
que se ve en ecuaciones, está todo paso por paso. Yo me voy a dedicar a copiar
00:00:26
y a hacer algunas precisiones para que el applet funcione y se vea
00:00:30
bien. Bueno, comenzamos.
00:00:34
lo primero que vamos a hacer es meter las inequaciones
00:00:37
para eso, pues vamos a ir de una en una
00:00:40
es importante meter las inequaciones con sus dos variables
00:00:43
para que, como dijimos en la primera clase
00:00:47
cuando se crea esta variable
00:00:52
la asigna como una inequación de dos variables
00:00:54
con x y y ya se queda esa asignación para siempre
00:00:57
si olvidáramos alguna letra o algo
00:01:00
se quedaría con esa variable así
00:01:04
y no podríamos modificarla luego, vamos metiendo nuestras cuatro inecuaciones, yo voy a meter también luego una inecuación con x,
00:01:06
aquí voy a hacer una precisión porque fijaros he puesto x más 0 por y precisamente para que tenga la naturaleza de x y y evitarme errores posteriores,
00:01:18
hago lo mismo con xy y voy a meter una tercera
00:01:27
que me va a servir un poco para que todo cuadre
00:01:32
y nunca se quede la región vacía y de error
00:01:37
y ahora pues voy a meter otra inequación que va a ser la región
00:01:40
que más adelante veremos para qué
00:01:45
bien, podemos poner cada inequación de un color si nos gusta
00:01:48
Por ejemplo, la inequación 1 la podemos poner azulito, la inequación 2 de este verde, la 3 lo podemos poner de este naranja, la 4 lo podemos poner de este rosa, esta la voy a poner un poquito más claras, esta la falta que se vea y la región normalmente la pongo roja y al máximo.
00:01:52
y además voy a quitarle el grosor de la línea
00:02:18
para que no se vea, bueno ahora se ven todas
00:02:21
esto entra dentro de la normalidad
00:02:24
la voy a ocultar, bien, ahora no se ve nada
00:02:26
voy a poner los ejes, vale, llegado a este punto
00:02:34
pues vamos a ver las instrucciones
00:02:37
y dice que hagamos la ventana
00:02:41
la vista gráfica 2, pues vamos a abrir la vista gráfica 2
00:02:42
no nos interesan los ejes así que los voy a quitar
00:02:46
y vamos a introducir casilla de entrada
00:02:50
para poder acceder a esas ecuaciones sin tener que poner la vista algebraica.
00:02:53
Voy a hacer la primera casilla.
00:03:00
Vamos a poner, por ejemplo, voy a poner con látex para que se vea región 1, dos puntos,
00:03:02
y lo vamos a vincular a la inequación 1.
00:03:12
Vamos a ir aquí a la región, la colocamos aquí, vamos a hacer exactamente lo mismo,
00:03:17
dólar, región 2, 2 puntos, dólar, lo vamos a asociar a la inecuación 2, lo volvemos a apuntar aquí,
00:03:23
hacemos 3, dólar, R3, 2 puntos, dólar, a la inecuación 3, de momento aparecen todos con datos,
00:03:35
pero veremos más adelante que se puede borrar, R-4, dos puntos, la vinculamos a la región 4, muy bien, ¿vale?
00:03:51
Vamos a comprobar que está todo objeto fijo visible en pantalla, vamos a coger ahora la ventana propiedades
00:04:04
y vamos a coger en básico, digo perdón, en estilo vamos a decir que ocupe 15, hace falta que ocupe 20
00:04:14
y lo que sí voy a hacer es, o yo tengo la costumbre de ponerle a cada cosa su nombre, aquí voy a poner que se llama casilla de entrada 1, hay que darle a enter para que coja el cambio, acordaros, casilla de entrada 2, casilla de entrada 3, casilla de entrada 4, aquí se me ha olvidado esto, muy importante porque luego todo va a ir referenciado a estos nombres.
00:04:22
Muy bien, ahora vamos a poner unas casillas de control para mostrar u ocultar la región en cuestión
00:04:51
Para eso nos vamos a ir aquí y le vamos a decir casilla de control
00:05:01
La vamos a poner aquí, le vamos a decir ver y la vamos a asociar a la inequación 1
00:05:06
La colocamos, vamos a hacer otra, sale este texto, ponemos aquí otra vez ver, a la inequación 2
00:05:12
la colocamos, otra más, B, esta va a ir a la ecuación 3, el valor lógico B lo borramos, lo colocamos, colocamos otra más, B, en ecuación 4,
00:05:23
valor lógico, lo borramos
00:05:43
y por defecto
00:05:46
y para que no haya que escribir voy a crear
00:05:49
dos para
00:05:50
x mayor o igual que 0
00:05:52
y mayor o igual que 0, fijaros que
00:05:55
en látex podemos
00:05:56
poner, o sea podemos usar látex
00:05:58
en el rótulo, vamos a poner que x sea
00:06:00
mayor que
00:06:02
se pone así
00:06:04
en látex mayor que 0
00:06:06
esta la vamos a quitar
00:06:08
y la vamos a asociar a inx
00:06:12
en ecuación x, nos aparece nuestro texto, vamos a hacer lo mismo, y barra grid equal, vamos a hacer así, quitamos este valor lógico, y vale, vamos a comprobar que todo funciona,
00:06:14
para eso pues podríamos desactivar todas
00:06:43
y ver, bueno, pues x mayor que 0
00:06:47
y mayor que 0, z
00:06:51
funcionan bien, esta
00:06:52
x mayor
00:06:55
bueno, todas funcionan más o menos bien
00:06:56
y se ven claramente
00:06:59
vale, pues creo que
00:07:00
con esto hemos terminado
00:07:03
la primera parte de este
00:07:04
bueno, perdón, vamos a poner
00:07:07
una condición para que
00:07:09
no haya errores, que va a ser
00:07:10
que la casilla mostrar solo se pueda ver cuando la inequación exista
00:07:13
así es que vamos a poner aquí como condición para ver
00:07:18
que se cumpla esto, muy bien, y como he dicho antes
00:07:22
yo suelo poner nombre a todo para no perderme y en este caso
00:07:29
les he puesto aquí n1
00:07:34
n2, n3, n4
00:07:37
n5
00:07:47
no, aquí ya es nx, perdón, ni, así tenemos identificado cada cosa, vale, estábamos con poner una condición para que la igualdad solo se pueda mostrar cuando hay igualdad, vale, vamos a poner aquí ahora 2, aquí vamos a poner la 3, aquí vamos a poner las otras,
00:07:50
No nos falta poner condición porque simplemente o se ven, siempre va a estar cubierta la inequación.
00:08:23
Bueno, podemos probar.
00:08:31
Si yo ahora borro, pues desaparece.
00:08:33
Y si pongo x más y menor o igual que 5 y le doy a ver, aparece mi inequación.
00:08:38
Esto lo he puesto así para poder probar diferentes combinaciones.
00:08:46
Claro, por último nos falta la región.
00:08:52
La región será una combinación de todas las que tenga visibles
00:08:55
Como no sé cuál me va a marcar el usuario
00:08:59
Pues he hecho un pequeño script para que marque lo que marque
00:09:04
Y que siempre salga la región correctamente
00:09:09
Vale, nos vamos a ir aquí a propiedades de cualquier objeto
00:09:10
En esta ventana, en programa de script sobre cualquier objeto
00:09:13
Siempre está la opción de un Javascript global
00:09:20
Este es un Javascript que está aquí
00:09:22
que normalmente tiene la función ggb on init
00:09:24
que es como la primera función que carga GeoGebra
00:09:27
que también se puede usar para inicializar variables
00:09:30
para poner todo a cero, para borrar contadores
00:09:33
es decir, lo que pongamos entre estas dos llaves
00:09:35
lo ejecutará al principio de abrir GeoGebra
00:09:38
yo voy a crear una función, que la podéis copiar
00:09:41
está aquí abajo
00:09:44
donde lo que le voy a decir
00:09:46
voy a examinar
00:09:48
si veis, voy a ir examinando
00:09:50
lo que ha marcado el usuario y voy a ir
00:09:56
añadiendo el texto
00:09:59
INECX y al final
00:09:59
también como al final del texto marque lo que marque
00:10:02
va a terminar en dos aspersand
00:10:04
pues lo suprimo y le paso
00:10:06
con el ggbaplet
00:10:08
le digo que la región
00:10:10
se convierta en la factible y además
00:10:12
le voy a decir que la región por si acaso
00:10:15
esté siempre maciza
00:10:17
esta función
00:10:19
de GeoGebra es bastante útil
00:10:20
o sea el GeoGebra script
00:10:22
con Javascript
00:10:25
y la conexión la hace a través del GGB Applet, que es como el GeoGebra en código.
00:10:26
Bien, cuando tengo ya esta función que la he llamado dibuja, como podéis ir a ver,
00:10:34
pues lo que tengo que hacer es que cuando activen la casilla de control, dibuje.
00:10:40
Entonces voy a coger cuando activen ver la primera línea de ecuación, yo le voy a decir que dibuja, use la función dibuja.
00:10:48
Hay que recordar que esto es un guión script, pero yo lo que hay que usar es Javascript.
00:10:54
Le pongo aquí dibuja y le digo que no, que es Javascript.
00:11:00
Dibuja, que es Javascript.
00:11:06
Dibuja, que es Javascript.
00:11:11
Dibuja, Javascript.
00:11:19
Y dibuja, Javascript.
00:11:23
Muy bien.
00:11:28
Para que funcione el script hay que cerrar esta ventana.
00:11:29
Y ahora fijaros, cuando yo actualice voy a poner visible la región, pues ahora me va a ir, no tengo ninguna región marcada, cuando no tengo ninguna región marcada me va a poner la región esta mayor que 10.000 que no se ve, pero si marco x mayor que 0 me marca esa región, si marco esta me marca esta, si marco esta me va a marcar esa, con lo cual ya tengo cubierto todas las regiones.
00:11:31
¿Qué puede hacer? Cuando no hay rojo es que la intersección es vacía. Podemos poner aquí por ejemplo 7 y saldría ese trocito, con lo cual a lo mejor esta es superflua y podemos quitar todas. Bien, ahora sí que hemos completado la primera parte de introducirlas en ecuaciones.
00:12:00
Vamos, la segunda parte para que haga este Apple sería encontrar los vértices, ¿vale?
00:12:21
Para eso podemos usar el comando vértices, donde, fijaros, lo voy a comentar un poco despacio.
00:12:26
Si escribimos en la barra de entrada vértices, me va a calcular todos los vértices de la región.
00:12:34
Aparecen vértices de más, incluso aparecen indefinidos, por eso tengo que poner eliminar indefinidos.
00:12:41
Vamos a marcar, por ejemplo, esta región.
00:12:46
Vale, me ha puesto los vértices en la vista gráfica 2 y estamos en la 1.
00:12:51
Pues lo ponemos en la 1.
00:12:56
Aquí lo hace bien porque solo hay 3, pero cuando la cosa se complica,
00:13:00
pues aparecen vértices que no van a ser como, por ejemplo, estamos viendo aquí,
00:13:04
hace todas las intersecciones, así que esto hay que depurar.
00:13:12
Para depurarlo, yo cojo todos los vértices que hay en la región.
00:13:15
Ahora pregunto de todos esos vértices quién está realmente en la región
00:13:20
Me dice que el primero sí está, el segundo no, el tercero sí, el cuarto sí, el quinto sí
00:13:26
Así cojo todos
00:13:33
Ahora busco cuál es su índice, es decir, en qué posición, qué vértice tengo que suprimir
00:13:34
Tengo que suprimir el 2 y el 8
00:13:42
Y por último le digo que la región que me tiene que hacer es esta.
00:13:45
Esto de único lo he puesto para eliminar duplicidades y porque los ordena.
00:13:57
Bien, pues ahora si cogemos la lista ver región, por ejemplo, podemos poner el color morado en la vista gráfica 1, claro, y que esté por encima de la región, pues tendremos nuestros vértices de la región.
00:14:01
Si probamos como hemos hecho antes, antes si recordáis, los vértices que calcula GeoGebra de todas las regiones son estos.
00:14:17
Sin embargo, ya tenemos depurados nuestros vértices.
00:14:26
Vamos a poner la adecuación que queramos.
00:14:30
Y así a priori va a funcionar.
00:14:35
Incluso con regiones abiertas, fijaros que puedo hacer muchas combinaciones.
00:14:40
Pues calculo los vértices en todas.
00:14:51
vamos a poner una cerrada
00:14:54
convexa, esta por ejemplo
00:14:56
vale, pues creo que ya hemos terminado
00:15:01
la parte, bueno
00:15:03
pongo aquí, añadí una casilla
00:15:04
para
00:15:07
ver la región, que en realidad
00:15:07
esta casilla se tiene que llamar A
00:15:11
pues la ponemos aquí
00:15:12
casilla de control
00:15:15
y ponemos ver
00:15:16
región, factible
00:15:19
por ejemplo, y le vamos a asociar
00:15:21
la inequación región
00:15:23
vamos a poner ahí
00:15:27
también podemos hacer otra casilla
00:15:29
ya que estamos
00:15:31
que sean los vértices
00:15:32
vértices
00:15:38
hemos dicho que era ver
00:15:41
no
00:15:43
ver los vértices de la región
00:15:44
vértices de la región
00:15:46
es mi nombre
00:15:47
vale, vamos a comprobar
00:15:48
que vamos todo bien
00:15:51
ahí tengo las regiones
00:15:52
la región factible
00:15:54
pues perfecto
00:15:55
ya vamos por función objetivo
00:15:57
vale, en este caso la función
00:16:00
objetivo la voy a hacer de manera diferente
00:16:02
a como la hace todo el mundo, que es con la
00:16:04
recta que atraviesa
00:16:06
la región factible, lo vamos a hacer
00:16:07
en 3D, para eso voy a
00:16:10
activar el 3D, que se vea
00:16:12
en esta rejilla significa que
00:16:15
las inequaciones están
00:16:17
puestas para verse
00:16:19
también en 3D y la vamos
00:16:21
a quitar, solo voy a dejar que compartan
00:16:23
la región
00:16:26
vista gráfica, vista 3D
00:16:27
aquí la tenemos
00:16:30
voy a poner así ahora
00:16:32
la
00:16:34
la vista
00:16:35
algebraica 2, digo la vista gráfica 2
00:16:39
y ahí tenemos
00:16:41
nuestro triángulo
00:16:42
perfecto
00:16:44
vale, pues con esa ventana abierta
00:16:47
pues vamos a nuestro texto
00:16:50
y ponemos por ejemplo esta función objetivo
00:16:53
que es una genérica que ya os digo
00:16:54
que la vamos a poder cambiar
00:16:56
nuestra función objetivo es esa
00:16:58
y ahora
00:17:01
si queremos ver la región
00:17:02
factible sobre esa superficie
00:17:05
pues vamos a poner este comando
00:17:07
si
00:17:09
región
00:17:10
si está en la región pues
00:17:13
la función factible
00:17:16
me la he cogido
00:17:18
fijaros
00:17:19
y ahora podemos ocultar la
00:17:30
función objetivo. Ahí tenemos
00:17:32
el triángulo. Si vemos que a veces se nos escapa, con la tecla mayúscula
00:17:36
nos ponemos sobre el eje Z, podemos cambiar la escala.
00:17:41
Esto va a pasar frecuentemente. Si la función objetivo da unos valores muy altos
00:17:45
vamos a centrarlo ahí, por ejemplo.
00:17:54
Pues lo siguiente que vamos a hacer es poner un punto ahí en la reacción factible
00:18:00
pues punto en región
00:18:04
vale, bien, pues aquí tenemos nuestro punto P
00:18:07
si queremos ver lo que vale la función objetivo
00:18:15
vamos a calcular punto Q
00:18:19
y vamos a hacer el segmento que lo sube
00:18:21
no me paro mucho en los comandos
00:18:26
ahí tenemos
00:18:29
si ahora cojo el segmento propiedades
00:18:32
y le digo que me muestre el valor
00:18:36
aunque voy a poner una función ahora que lo vea
00:18:37
un texto que diga
00:18:40
pues, puedo ver, no me lo he cogido, valor, puedo ver el valor de la función objetivo para el punto P, claro, aquí ya podemos ver la teoría y decir, bueno, pues aquí en este extremo,
00:18:42
extremo, en este extremo, si me voy a este extremo lo subo y pues 14,4 a veces la precisión
00:19:01
no es la mejor. Bueno, ahora haremos una tabla para, esto que me está saliendo todo el rato
00:19:23
la ventana es porque las inequaciones están permitidas seleccionar, así que llegados
00:19:31
este punto y que no me moleste más, voy a coger las
00:19:36
inequaciones y en la pestaña avanzado le voy a decir que no se puede
00:19:40
seleccionar. Bien, ahora aunque yo le dé, no se va a
00:19:44
seleccionar y todo el rato estas ventanas que me salen pues
00:19:48
dejarán de salir. Bueno, ahora pues puedo mover
00:19:51
el punto P por la zona y ver lo que va a ser la función objetivo
00:19:56
y claro, si lo llevo a los extremos, aquí por ejemplo vale 12, ahí
00:19:59
valdrá 14,67 y aquí pues claramente saldrá 0, como es lógico y normal. Perfecto. Bueno,
00:20:05
continuamos avanzando. Vale, vamos a poner una casilla de entrada para que el alumno
00:20:19
pueda cambiar la función objetivo. Podemos poner aquí un espacio de estos duros para
00:20:25
que haya una separación. Podemos dejarlo así. También podemos poner un textito que
00:20:36
nos diga el valor de la función objetivo por ejemplo por aquí pues f del punto p va a ser
00:20:45
igual y aquí podemos coger una casilla vacía y poner dentro efe o de x efe o de p pues nos
00:20:57
pide directamente si queremos lo podemos poner en látex que es más bonito podemos esto agrandarlo
00:21:05
ya vamos teniendo nuestro apple más o menos
00:21:11
podemos ponerlo
00:21:23
así, bien
00:21:26
pues ya hemos hecho, bueno viene aquí
00:21:35
que le llamemos cs5, es importante
00:21:37
para la obra inicial, si es que le voy a poner
00:21:39
el casilla
00:21:41
de entrada 5
00:21:43
acordaros de dar a enter si no nos va a
00:21:44
coger el cambio
00:21:47
y por último nos faltan los
00:21:47
textos, vale
00:21:51
vamos a poner un texto para que nos calcule
00:21:52
los vértices y su valor
00:21:54
para eso voy a coger
00:21:57
las coordenadas de los vértices
00:21:58
y su valor, vale, voy a crear esta lista
00:22:02
voy a generar una lista con los valores, efectivamente se corrobora
00:22:06
como he dicho a mano 0, 12, 167 y ahora vamos a hacer
00:22:10
un texto con una pequeña tabla donde si os fijáis
00:22:14
va a encadenar, va a poner puntos como cabecera y va a poner los puntos
00:22:18
y al lado va a poner los valores, va a poner el texto valores
00:22:22
y va a encadenar los valores de la lista.
00:22:26
Si hacemos eso, pues lo escribimos aquí y tenemos la tabla.
00:22:29
La tabla se coloca en la última vista que he seleccionado, pero no pasa nada
00:22:34
porque me voy a la vista gráfica 2 y aquí me aparece.
00:22:38
Me aparece aquí, pues la voy a poner aquí, por ejemplo.
00:22:43
La voy a poner aquí y además por objeto fijo y posición absoluta.
00:22:50
ya vemos que efectivamente si me voy a este punto
00:22:53
que es el 4, pues la función vale 12
00:22:57
si me voy al otro punto, la función vale 14,67
00:23:00
es decir, tenemos casi
00:23:05
bueno, casi no, resuelto el problema, ahora solo tenemos que interpretar el enunciado
00:23:06
y decidir cuál es la solución
00:23:10
ya por último, si queremos tunear un poco más
00:23:12
el applet
00:23:16
pues podemos añadir un botón
00:23:20
que limpie, así no tenemos que estar limpiando nosotros, por ejemplo
00:23:22
vamos a poner aquí un botón que se llama limpia y ¿qué va a hacer limpia?
00:23:26
pues he puesto aquí en retoques, pues va a poner todas las variables
00:23:32
a su valor y luego también podemos hacer por ejemplo
00:23:35
otro botón que nos centre las cosas, por si se desmadre
00:23:44
se desmadra la imagen, central, he puesto aquí
00:23:48
y ponemos esto
00:23:52
que básicamente le decimos que en la vista activa 1 lo centren en el 0,0 y en la vista activa menos 1,
00:23:56
que es la vista activa 3D, lo centren en el 0,0.
00:24:03
Colocamos y bueno, pues ahora podemos ver cómo centra, ¿vale?
00:24:07
Podemos movernos y centrarlo como queramos nosotros, podemos ver cómo limpia
00:24:15
y ahora pues solo nos queda ya cerrar la vista
00:24:20
algebraica, adecuar el tamaño
00:24:24
podemos dejarlo así
00:24:27
pues dejarlo igual y ahora pues
00:24:32
podemos resolver cualquier problema que planteemos
00:24:46
podemos coger un problema de la evau y ponerlo aquí
00:24:49
lo voy a inventar, queremos así
00:24:52
mayor o igual que 2
00:24:55
y digo ver, va a salir aquí
00:24:58
que sea positivo, sea positiva
00:25:00
y también que x más y sea menor o igual que 7.
00:25:05
Vamos a ver que es factible, pues lo tenemos ahí.
00:25:16
Podemos echar para atrás para verla, nos aparece el punto
00:25:19
y no nos aparece ni función objetivo ni vértice.
00:25:22
Bueno, los vértices ya nos aparecen.
00:25:27
Podemos poner una función objetivo, 2x más 5y
00:25:30
y ahí tendremos nuestra función objetivo
00:25:35
y ahora pues podemos estudiar
00:25:37
qué pasa
00:25:40
aquí, aquí, aquí
00:25:40
bueno, espero que os haya
00:25:45
parecido entretenido
00:25:50
o interesante, hasta luego
00:25:51
- Autor/es:
- José Luis Muñoz Casado
- Subido por:
- Jose Luis M.
- Licencia:
- Reconocimiento - No comercial - Compartir igual
- Visualizaciones:
- 136
- Fecha:
- 25 de abril de 2022 - 20:11
- Visibilidad:
- Público
- Centro:
- IES SALVADOR DALI
- Duración:
- 25′ 56″
- Relación de aspecto:
- 1.78:1
- Resolución:
- 1920x1080 píxeles
- Tamaño:
- 412.70 MBytes