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

1""" 

2Components for parsing and evaluating log files generated by experiments. 

3 

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""" 

13 

14 

15def __lang_setup() -> None: 

16 """Perform the internal language setup.""" 

17 # pylint: disable=C0415 

18 import pycommons.math.sample_statistics as ss # noqa 

19 

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 

24 

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 }) 

64 

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 }) 

104 

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 }) 

144 

145 

146__lang_setup() # invoke the language setup 

147del __lang_setup # delete the language setup routine