Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found
Select Git revision
  • master
1 result

Target

Select target project
  • jirikalvoda/binary-paint-shop-problem
1 result
Select Git revision
  • master
1 result
Show changes
Commits on Source (6)
[submodule "prace/jk_web"]
path = prace/jk_web
url = git@gitlab.kam.mff.cuni.cz:jirikalvoda/jk-web.git
......@@ -209,6 +209,14 @@ def main(build_dir=Path("build_pdf"), link_out=True):
imageProcessor = ImageProcessor({"": ImageProcessorNamespace(str(build_dir/"img_public_dir"), "/", str(build_dir/"img_cache_dir"), [str(d), str(build_dir)], True)})
for lang, metadata_key, lang_macro in [("cs", "ft.abstract", r"\uselanguage{czech}\frenchspacing\lefthyphenmin=2\righthyphenmin=2{}"), ("en", "ft.en.abstract", r"\uselanguage{USenglish}\nonfrenchspacing\lefthyphenmin=2\righthyphenmin=2{}")]:
with open(build_dir/f"abstract-{lang}.tex", "w") as file:
try:
UCWTexGenerator(file, imageProcessor).generate(pf.Doc(pf.RawBlock(lang_macro, format="tex"), pf.Para(*parse_string(tp.context.get_metadata(metadata_key)))))
except FormatitkoRecursiveError as e:
e.pretty_print(tracebacklimit=tracebacklimit)
return 1
with open(build_dir/"bakalarka.tex", "w") as file:
try:
UCWTexGenerator(file, imageProcessor).generate(doc)
......@@ -230,6 +238,8 @@ def main(build_dir=Path("build_pdf"), link_out=True):
with open(build_dir/"toc.aux", "w") as f:
pass
subprocess.run(["luatex", "abstract-cs"], check=True, cwd=build_dir, env=env)
subprocess.run(["luatex", "abstract-en"], check=True, cwd=build_dir, env=env)
for _ in range(3):
subprocess.run(["luatex", "bakalarka"], check=True, cwd=build_dir, env=env)
with open(build_dir/"toc.aux", "w") as f:
......
......@@ -95,9 +95,12 @@ Klíčová slova:
\ftKeywords
\vss}\nobreak\vbox to 0.49\vsize{
{
\parindent 0mm
\parskip 5mm
\uselanguage{USenglish}\nonfrenchspacing\lefthyphenmin=2\righthyphenmin=2{}
Title:
\ftTitleEN
......@@ -116,6 +119,7 @@ Abstract:
Keywords:
\ftKeywordsEN
}
}
\eject
}
......
AuthType Basic
AuthName "Restricted Content"
AuthUserFile /home/jirikalvoda/WWW_passwd/bakalarka
Require valid-user
......@@ -15,12 +15,12 @@ ft:
jedno z nich bychom rádi nabarvili červeně a druhé modře.
Měnit barvu, kterou aktuálně barvíme, je drahá operace,
proto bychom rádi pro danou posloupnost aut provedli co nejméně změn.
Vstupem úlohy jsou typy aut v posloupnost a výstupem je jejich obarvení.
Vstupem úlohy jsou typy aut v posloupnosti a výstupem je jejich obarvení.
Je známé, že úloha je NP-těžká a za určitých předpokladů dokonce neaproximovatelná,
proto je na místě zkoumat řešení, co se chovají dobře na náhodném vstupu.
V této práci je představen algoritmus založený na semidefinitním programování,
který dle provedených měření pro náhodné vstupy dosahuje výsledků okolo 0.34-násobku počtu typů aut.
O algoritmu jsme dokázali, že pro každý vstup vrátí ve střední hodnotě řešení nejhůře o 0.212 násobek počtu typů aut horší než optimum.
O algoritmu jsme dokázali, že pro každý vstup vrátí ve střední hodnotě řešení nejhůře o 0.212-násobek počtu typů aut horší než optimum.
keywords: [binární paint shop problém, aproximační algoritmus]
year: 2024
study_programme: Informatika
......@@ -873,7 +873,7 @@ Jedním z použitých programů byl SDPA-C [@sdpa-web].
Jedná se o knihovnu v C`++`
založenou na metodě vnitřních bodů v primárním a duálním problému. Dle autorů projektu [@sdpa-web]:
::: {.group lang=cs}
::: {.group lang=en}
> SDPA (SemiDefinite Programming Algorithm) is one of the most efficient and stable software packages for solving SDPs based on the primal-dual interior-point method. It fully exploits the sparsity of given problems.
:::
......
......@@ -47,7 +47,3 @@ with web.Module("bakalarka") as module_bakalarka, web.ctx.add_out_path_prefix("b
from .bakalarka import main
main(pathlib.Path(tmpdirname), False)
print(web.copy_file(None, bakalarka_pdf, tmpdirname+"/bakalarka.pdf", add_out_path_prefix=False))
copy_file(d, ".htaccess", "htaccess")
Subproject commit 0693962e7de332d9f07a842f14246f34ff7cda46
......@@ -5,7 +5,7 @@ build-backend = "setuptools.build_meta"
[project]
name = "bakalarka"
# version = "0.0.1"
dynamic = ["version"]
dynamic = ["version", "dependencies"]
authors = [
{ name="Jiří Kalvoda", email="jirikalvoda@kam.mff.cuni.cz" },
]
......@@ -16,15 +16,6 @@ classifiers = [
"Operating System :: Linux",
]
dependencies = [
"jk_web @ git+https://gitlab.kam.mff.cuni.cz/jirikalvoda/jk-web.git#egg=jk-web",
"numpy",
"kaleido",
"mathjax",
"scipy",
"scikit-learn",
]
[project.urls]
"Homepage" = "https://gitlab.kam.mff.cuni.cz/jirikalvoda/binary-paint-shop-problem.git"
......
from pathlib import Path
from setuptools import setup
# This is where you add any fancy path resolution to the local lib:
local_path: str = (Path(__file__).parent).as_uri()
setup(
install_requires=[
f"jk_web @ {local_path}/jk_web",
"numpy",
"kaleido",
"mathjax",
"scipy",
"scikit-learn",
]
)