Řetězovka
V tomto Pluto notebooku můžete experimentovat s různými konfiguracemi zavěšeného řetězu. Zkuste změnit počet bodů, souřadnice závěsů, nebo změnit hmotnosti jednotlivých bodů modifikací objektivní funkce.
md"""
# Řetězovka
V tomto [Pluto notebooku](https://github.com/fonsp/Pluto.jl) můžete experimentovat s různými konfiguracemi zavěšeného řetězu. Zkuste změnit počet bodů, souřadnice závěsů, nebo změnit hmotnosti jednotlivých bodů modifikací objektivní funkce.
"""
# balíčky
using JuMP , Ipopt , Plots , PlutoUI
# Použijeme GR backend (PyPlot v Pluto zdá se nefunguje přímo hned)
gr();
Parametry modelu:
md"Parametry modelu:"
Definice modelu:
md"Definice modelu:"
begin
set_silent(model)
# neznámé jsou souřadnice bodů (x[i], y[i])
# okrajové podmínky
@constraints(model, begin
x[1] == 0
y[1] == a
end)
# spojky řetězu, resp. vzdálenosti sousedních bodů
end
# objektivní funkce: vynecháváme fyzikální konstanty, které by jen škálovaly celkovou
# funkční hodnotu (krát hmotnost hmotného bodu krát gravitační zrychlení).
end;
Optimalizace:
md"Optimalizace:"
optimize!(model)
Počet bodů:
md"Počet bodů:"
@bind n Slider(3:30)
Parametry:
n = 10