Coverage for moptipy / evaluation / __init__.py: 100%
11 statements
« prev ^ index » next coverage.py v7.12.0, created at 2025-11-24 08:49 +0000
« prev ^ index » next coverage.py v7.12.0, created at 2025-11-24 08:49 +0000
1"""
2Components for parsing and evaluating log files generated by experiments.
4Via the :mod:`moptipy.api`, it is possible to log the progress or end
5results of optimization algorithms runs in text-based log files.
6With the methods in this package here, you can load and evaluate them. This
7usually follows a multi-step approach: For example, you can first extract the
8end results from several algorithms and instances into a single file via the
9:class:`~moptipy.evaluation.end_results.EndResult`. This could then be
10processed to per-algorithm or per-instance statistics using
11:class:`~moptipy.evaluation.end_statistics.EndStatistics`.
12"""
15def __lang_setup() -> None:
16 """Perform the internal language setup."""
17 # pylint: disable=C0415
18 import pycommons.math.sample_statistics as ss # noqa
20 import moptipy.api.logging as lg # pylint: disable=C0415 # noqa
21 import moptipy.evaluation.base as bs # pylint: disable=C0415 # noqa
22 import moptipy.evaluation.end_statistics as es # pylint: disable=C0415 # noqa
23 from moptipy.utils.lang import DE, EN, ZH # pylint: disable=C0415 # noqa
25 EN.extend({
26 "f": "f",
27 "bestF": "f",
28 "feasible": "feasible",
29 "name": "name",
30 "time": "time",
31 "time_in_fes": "time in FEs",
32 "time_in_ms": "time in ms",
33 "lower_bound": "lower bound",
34 "lower_bound_short": "lb",
35 bs.F_NAME_NORMALIZED: "normalized f",
36 bs.F_NAME_SCALED: "scaled f",
37 bs.F_NAME_RAW: "f",
38 bs.TIME_UNIT_FES: "time in FEs",
39 bs.TIME_UNIT_MILLIS: "time in ms",
40 lg.KEY_TOTAL_TIME_MILLIS: "total time in ms",
41 lg.KEY_LAST_IMPROVEMENT_TIME_MILLIS: "last improvement time at ms",
42 lg.KEY_TOTAL_FES: "total time in FEs",
43 lg.KEY_LAST_IMPROVEMENT_FE: "last improvement at FE",
44 "algorithm_on_instance": "algorithm \u00d7 instance",
45 "ERT": "ERT",
46 es.KEY_ERT_FES: "ERT[FEs]",
47 es.KEY_ERT_TIME_MILLIS: "ERT[ms]",
48 "ECDF": "ECDF",
49 "setup": "setup",
50 "best": "best",
51 "worst": "worst",
52 "summary": "summary",
53 "all_insts": "all instances",
54 "all_algos": "all algorithms",
55 "single_run": "single run",
56 ss.KEY_MEAN_GEOM: "gmean",
57 ss.KEY_STDDEV: "sd",
58 ss.KEY_MEDIAN: "median",
59 ss.KEY_MAXIMUM: "max",
60 ss.KEY_MINIMUM: "min",
61 ss.KEY_MEAN_ARITH: "mean",
62 es.KEY_N_SUCCESS: "#successes",
63 })
65 DE.extend({
66 "f": "f",
67 "bestF": "f",
68 "feasible": "realisierbar",
69 "name": "Name",
70 "time": "Zeit",
71 "time_in_ms": "Zeit in ms",
72 "time_in_fes": "Zeit in FEs",
73 "lower_bound": "untere Schranke",
74 "lower_bound_short": "us",
75 bs.F_NAME_NORMALIZED: "normalisierte f",
76 bs.F_NAME_SCALED: "skalierte f",
77 bs.F_NAME_RAW: "f",
78 bs.TIME_UNIT_FES: "Zeit in FEs",
79 bs.TIME_UNIT_MILLIS: "Zeit in ms",
80 lg.KEY_TOTAL_TIME_MILLIS: "Gesamtzeit in ms",
81 lg.KEY_LAST_IMPROVEMENT_TIME_MILLIS: "letzte Verbesserung bei ms",
82 lg.KEY_TOTAL_FES: "Gesamtzeit in FEs",
83 lg.KEY_LAST_IMPROVEMENT_FE: "letzte Verbesserung bei FE",
84 "algorithm_on_instance": "Algorithmus \u00d7 Instanz",
85 "ERT": "ERT",
86 es.KEY_ERT_FES: "ERT[FEs]",
87 es.KEY_ERT_TIME_MILLIS: "ERT[ms]",
88 "ECDF": "ECDF",
89 "setup": "setup",
90 "best": "beste",
91 "worst": "schlechteste",
92 "summary": "Übersicht",
93 "all_insts": "all Instanzen",
94 "all_algos": "all Algorithmen",
95 "single_run": "einzelner Run",
96 ss.KEY_MEAN_GEOM: "gmean",
97 ss.KEY_STDDEV: "sd",
98 ss.KEY_MEDIAN: "median",
99 ss.KEY_MAXIMUM: "max",
100 ss.KEY_MINIMUM: "min",
101 ss.KEY_MEAN_ARITH: "mean",
102 es.KEY_N_SUCCESS: "#erfolgreich",
103 })
105 ZH.extend({
106 "f": "f",
107 "bestF": "f",
108 "feasible": "可行的",
109 "name": "名称",
110 "time": "时间",
111 "time_in_ms": "时间(毫秒)",
112 "time_in_fes": "时间(目标函数的评价)",
113 "lower_bound": "下界",
114 "lower_bound_short": "下界",
115 bs.F_NAME_NORMALIZED: "归一化f",
116 bs.F_NAME_SCALED: "标度f",
117 bs.F_NAME_RAW: "f",
118 bs.TIME_UNIT_FES: "时间(目标函数的评价)",
119 bs.TIME_UNIT_MILLIS: "时间(毫秒)",
120 lg.KEY_TOTAL_TIME_MILLIS: "总时间(毫秒)",
121 lg.KEY_LAST_IMPROVEMENT_TIME_MILLIS: "最后一次改进是在(毫秒)",
122 lg.KEY_TOTAL_FES: "总时间(目标函数的评价)",
123 lg.KEY_LAST_IMPROVEMENT_FE: "最后一次改进是在(目标函数的评价)",
124 "algorithm_on_instance": "优化算法 \u00d7 优化问题实例",
125 "ERT": "经验估计运行时间",
126 es.KEY_ERT_FES: "经验估计运行时间[目标函数的评价]",
127 es.KEY_ERT_TIME_MILLIS: "经验估计运行时间[毫秒]",
128 "ECDF": "经验累积分布函数",
129 "setup": "算法配置",
130 "best": "最好的",
131 "worst": "最糟糕的",
132 "summary": "总结",
133 "all_insts": "所有优化问题实例",
134 "all_algos": "所有的算法",
135 "single_run": "一个算法执行",
136 ss.KEY_MEAN_GEOM: "几何平均数",
137 ss.KEY_STDDEV: "标准偏差",
138 ss.KEY_MEDIAN: "中值的",
139 ss.KEY_MAXIMUM: "最大限度",
140 ss.KEY_MINIMUM: "最低限度",
141 ss.KEY_MEAN_ARITH: "算术平均值",
142 es.KEY_N_SUCCESS: "成功执行算法的次数",
143 })
146__lang_setup() # invoke the language setup
147del __lang_setup # delete the language setup routine