Skip to content

Commit

Permalink
fixing bug with moving fsls in optimizer
Browse files Browse the repository at this point in the history
  • Loading branch information
Graveflo committed Mar 10, 2021
1 parent 86a0c9e commit dd69d42
Show file tree
Hide file tree
Showing 5 changed files with 113 additions and 69 deletions.
24 changes: 0 additions & 24 deletions DlgCompact.py
Original file line number Diff line number Diff line change
Expand Up @@ -308,30 +308,6 @@ def get_loss_prev_fs_attempt(self, fs_lvl, strat:StrategySolution):
else:
return None

def test_for_loss_pre_dec(self, fs_lvl, this_gear, strat:StrategySolution, excluded, toler=0.95) -> typing.List[Decision]:
finds = []
best_enh_gear = strat.get_best_enh_solution(fs_lvl)
best_enh_cost = best_enh_gear.cost
for excl_gear in excluded:
#print(excl_gear.get_full_name())
if excl_gear is this_gear:
continue

eh_idx = excl_gear.get_enhance_lvl_idx()
cost_vec_l = excl_gear.cost_vec[eh_idx]
idx_ = numpy.argmin(cost_vec_l)
opti_val = cost_vec_l[idx_]
optimality = (1.0 + ((opti_val - cost_vec_l[fs_lvl]) / opti_val))
if optimality >= toler:
cost = strat.get_solution_gear(fs_lvl, excl_gear) - best_enh_cost
this_decision = Decision(excl_gear, cost, self.ui.treeWidget)
loss_prev_enh_step = LossPreventionEnhancement(excl_gear, this_gear, this_decision, cost_diff=cost, loss_prev=optimality)
this_decision.addChild(loss_prev_enh_step)
enhance_decision = AttemptEnhancement(excl_gear, this_decision, on_fs=fs_lvl)
this_decision.addChild(enhance_decision)
finds.append(this_decision)
return finds

def check_out_fs_lvl(self, fs_lvl, alt_idx, alts, strat: StrategySolution):
these_fs_decisions = []
these_decisions = []
Expand Down
27 changes: 20 additions & 7 deletions Widgets/tableGenome.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
from ast import literal_eval
import time
from queue import Empty
from typing import List
from typing import List, Set

import numpy
from PyQt5.QtCore import QThread, pyqtSignal, QModelIndex, Qt, QSize
Expand Down Expand Up @@ -462,7 +462,7 @@ def __init__(self, *args, **kwargs):
super(TableGenome, self).__init__(*args, **kwargs)
self.graph: PlotWidget = None
self.itemChanged.connect(self.itemChanged_callback)
self.chosen_twis:List[EvolveSolutionWidget] = []
self.chosen_twis:Set[EvolveSolutionWidget] = set()
self.setIconSize(QSize(15,15))
self.setColumnWidth(0, 230)
self.clicked.connect(self.clicked_cb)
Expand Down Expand Up @@ -509,11 +509,19 @@ def dropEvent(self, event) -> None:
for i in self.selectedItems():
if i is dragonto:
continue # don't drag a section onto itself

settings = self.enh_model.settings
fsls = settings[settings.P_GENOME_FS]
if isinstance(i, EvolveSolutionWidget):
parent = i.parent()
i.invalidate_plot()
i = parent.takeChild(parent.indexOfChild(i))
itm = GenomeTreeWidgetItem(model, dragonto, [''] * self.columnCount(), fsl=i.fsl)
fsl = i.fsl
itm = GenomeTreeWidgetItem(model, dragonto, [''] * self.columnCount(), fsl=fsl)
if fsl in fsls:
itm.setIcon(0, pix.get_icon(STR_CHECK_PIC))
self.chosen_twis.remove(i)
self.chosen_twis.add(itm)
dragonto.addChild(itm)
itm.update_data()
itm.check_error()
Expand All @@ -522,7 +530,12 @@ def dropEvent(self, event) -> None:
this_twi = i.child(j)
this_twi.invalidate_plot()
this_twi:EvolveSolutionWidget = i.takeChild(j)
itm = GenomeTreeWidgetItem(model, dragonto, ['']*self.columnCount(), fsl=this_twi.fsl)
fsl = this_twi.fsl
itm = GenomeTreeWidgetItem(model, dragonto, ['']*self.columnCount(), fsl=fsl)
if fsl in fsls:
itm.setIcon(0, pix.get_icon(STR_CHECK_PIC))
self.chosen_twis.remove(i)
self.chosen_twis.add(itm)
dragonto.addChild(itm)
itm.update_data()
itm.check_error()
Expand Down Expand Up @@ -591,7 +604,7 @@ def action_remove_selected_triggered(self):
def make_default(self, twi:EvolveSolutionWidget):
model = self.enh_model
model.set_fsl(twi.fsl)
self.chosen_twis.append(twi)
self.chosen_twis.add(twi)
twi.setIcon(0, pix.get_icon(STR_CHECK_PIC))
self.sig_selected_genome_changed.emit()

Expand Down Expand Up @@ -634,7 +647,7 @@ def set_common(self, model: Enhance_model, frmMain: lbl_color_MainWindow):
fsl.set_state_json(child_obj)
else:
fsl = settings[settings.P_GENOME_FS][child_obj]
self.chosen_twis.append(itmc)
self.chosen_twis.add(itmc)
itmc.setIcon(0, pix.get_icon(STR_CHECK_PIC))
checked.add(fsl)
itmc.set_fsl(fsl)
Expand All @@ -650,7 +663,7 @@ def set_common(self, model: Enhance_model, frmMain: lbl_color_MainWindow):
for fsl in unaccount:
itmc = GenomeTreeWidgetItem(model, itm, [''] * self.columnCount(), checked=False)
itm.addChild(itmc)
self.chosen_twis.append(itmc)
self.chosen_twis.add(itmc)
itmc.setIcon(0, pix.get_icon(STR_CHECK_PIC))
itmc.set_fsl(fsl)
itmc.update_data()
Expand Down
127 changes: 91 additions & 36 deletions based_settings.json
Original file line number Diff line number Diff line change
Expand Up @@ -23,12 +23,13 @@
"9",
"8",
"TRI"
]
],
"pri_cost": 0
}
],
"fail_stackers_2": [
{
"base_item_cost": 453000,
"base_item_cost": 443000,
"enhance_lvl": "11",
"gear_type": "Green Armor",
"name": "Grunil Helmet",
Expand All @@ -46,7 +47,8 @@
"TRI",
"TET",
"PEN"
]
],
"pri_cost": 29011916.505269244
}
],
"for_profit_gear": [],
Expand All @@ -61,14 +63,67 @@
"valks": {},
"naderrs_band": [],
"fs_genome": [
0,
21,
5,
5,
14
{
"genome": [
21,
5,
5,
14
],
"gear_dx": 0,
"num_fs": 300
},
{
"genome": [
18,
4,
5,
8
],
"gear_dx": 0,
"num_fs": 125
},
{
"genome": [
19,
3,
2,
12
],
"gear_dx": 0,
"num_fs": 125
}
],
"quest_fs_inc": 0,
"_version": "0.0.1.5",
"mp_domain": "na-trade.naeu.playblackdesert.com",
"_version": "0.0.1.6",
"fsl_l": [
[
"Current Setting",
[
255,
0,
0,
255
],
[
0,
{
"genome": [
14,
5,
5,
8
],
"gear_dx": 0,
"num_fs": 100
},
1,
2
]
]
],
"frm_version": "0.0.0.0",
"num_fs": 300,
"cost_cron": 2000000,
"cost_cleanse": 100000,
Expand All @@ -77,80 +132,80 @@
"00016002": {
"name": "BLACK_STONE_ARMOR",
"prices": [
162000
118000
],
"expires": 1612792502.4507763
"expires": 1615418687.892937
},
"00016001": {
"name": "BLACK_STONE_WEAPON",
"prices": [
162000
120000
],
"expires": 1612792502.549756
"expires": 1615418688.0109751
},
"00016005": {
"name": "CONC_ARMOR",
"prices": [
1940000
1970000
],
"expires": 1612792502.6526897
"expires": 1615418688.1251078
},
"00016004": {
"name": "CONC_WEAPON",
"prices": [
2430000
2280000
],
"expires": 1612792503.2666085
"expires": 1615418688.2339647
},
"00004997": {
"name": "Hard Black Crystal Shard",
"prices": [
1270000
1370000
],
"expires": 1612792503.7758482
"expires": 1615418688.345969
},
"00004998": {
"name": "Sharp Black Crystal Shard",
"prices": [
1630000
1670000
],
"expires": 1612792503.3817196
"expires": 1615418688.460236
},
"00044195": {
"name": "MEMORY_FRAG",
"prices": [
1650000
1400000
],
"expires": 1612792503.4788036
"expires": 1615418688.5797558
},
"00044364": {
"name": "DRAGON_SCALE",
"prices": [
413000
381000
],
"expires": 1612792503.578857
"expires": 1615418688.7028303
},
"00721003": {
"name": "Caphras Stone",
"prices": [
2690000
2760000
],
"expires": 1612792503.6748044
"expires": 1615418688.818791
},
"00010933": {
"name": "Grunil Helmet",
"prices": [
453000,
950000,
6250000,
18300000,
42700000,
443000,
875000,
5950000,
18700000,
44700000,
57000000,
113000000,
500000000,
2200000000
118000000,
493000000,
2020000000
],
"expires": 1612792510.4569416
"expires": 1615418697.6699245
}
}
},
Expand Down
2 changes: 1 addition & 1 deletion installer_rems.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
["numpy\\random\\mtrand.cp37-win_amd64.pyd", "lib2to3\\PatternGrammar3.7.6.final.0.pickle", "lib2to3\\refactor.pyo", "PKG-00.pkg", "lib2to3\\patcomp.pyo", "BDO_Enhancement_Tool\\Images\\items\\ChainlessSlaves.pdf", "numpy\\random\\_mt19937.cp37-win_amd64.pyd", "LOG.log", "lib2to3\\__init__.pyo", "numpy\\random\\_philox.cp37-win_amd64.pyd", "Levenshtein\\_levenshtein.cp37-win_amd64.pyd", "lib2to3\\pgen2\\driver.pyo", "numpy\\random\\_common.cp37-win_amd64.pyd", "BDO_Enhancement_Tool\\Images\\items\\00000007.png", "GraveflosEnhancementTool_win32.exe.manifest", "libiomp5md.dll", "numpy\\fft\\_pocketfft_internal.cp37-win_amd64.pyd", "numpy\\random\\_sfc64.cp37-win_amd64.pyd", "settings.json", "Analysis-00.toc", "numpy\\core\\_multiarray_tests.cp37-win_amd64.pyd", "lib2to3\\pygram.pyo", "numpy\\linalg\\_umath_linalg.cp37-win_amd64.pyd", "lib2to3\\pytree.pyo", "COLLECT-00.toc", "BDO_Enhancement_Tool\\Images\\compact_overlay.png", "BDO_Enhancement_Tool\\Images\\items\\00000018.png", "warn-GraveflosEnhancementTool_win32.txt", "lib2to3\\btm_matcher.pyo", "numpy\\linalg\\lapack_lite.cp37-win_amd64.pyd", "lib2to3\\fixer_util.pyo", "lib2to3\\pgen2\\token.pyo", "Tree-00.toc", "lib2to3\\pgen2\\literals.pyo", "Tree-01.toc", "BDO_Enhancement_Tool\\Images\\items\\00000008.png", "PYZ-00.pyz", "warn-GraveflosEnhancementTool_win64.txt", "PYZ-00.toc", "lib2to3\\pgen2\\grammar.pyo", "BDO_Enhancement_Tool\\Images\\compact_overlay2.png", "lib2to3\\pgen2\\parse.pyo", "numpy\\random\\_pcg64.cp37-win_amd64.pyd", "numpy\\random\\_generator.cp37-win_amd64.pyd", "numpy\\random\\_bounded_integers.cp37-win_amd64.pyd", "PKG-00.toc", "xref-GraveflosEnhancementTool_win32.html", "BDO_Enhancement_Tool\\Images\\gear_lvl\\Gear_Level.psd", "numpy\\core\\_multiarray_umath.cp37-win_amd64.pyd", "lib2to3\\pgen2\\__init__.pyo", "lib2to3\\Grammar3.7.6.final.0.pickle", "EXE-00.toc", "xref-GraveflosEnhancementTool_win64.html", "GraveflosEnhancementTool_win32.exe", "BDO_Enhancement_Tool\\LOG.log", "lib2to3\\pgen2\\tokenize.pyo", "tbb.dll", "lib2to3\\pgen2\\pgen.pyo", "PyQt5\\sip.cp37-win_amd64.pyd", "python37.dll", "lib2to3\\btm_utils.pyo", "BDO_Enhancement_Tool\\Images\\items\\00000019.png", "numpy\\random\\bit_generator.cp37-win_amd64.pyd"]
["warn-GraveflosEnhancementTool_win32.txt", "numpy\\random\\_pcg64.cp37-win_amd64.pyd", "mkl_mc.dll", "Analysis-00.toc", "mkl_blacs_msmpi_lp64.dll", "Qt53DQuickScene2D.dll", "PyQt5\\sip.cp37-win_amd64.pyd", "settings.json", "mkl_blacs_lp64.dll", "BDO_Enhancement_Tool\\Images\\compact_overlay2.png", "mkl_vml_avx512.dll", "mkl_avx512.dll", "BDO_Enhancement_Tool\\LOG.log", "Qt53DInput.dll", "BDO_Enhancement_Tool\\Images\\gear_lvl\\Gear_Level.psd", "numpy\\random\\bit_generator.cp37-win_amd64.pyd", "mkl_mc3.dll", "COLLECT-00.toc", "mkl_vml_mc2.dll", "xref-GraveflosEnhancementTool_win32.html", "mkl_vml_cmpt.dll", "Tree-01.toc", "mkl_vml_avx.dll", "EXE-00.toc", "mkl_rt.dll", "numpy\\random\\_philox.cp37-win_amd64.pyd", "mkl_scalapack_ilp64.dll", "mkl_intel_thread.dll", "PKG-00.pkg", "numpy\\core\\_multiarray_umath.cp37-win_amd64.pyd", "mkl_avx2.dll", "mkl_blacs_msmpi_ilp64.dll", "PYZ-00.pyz", "numpy\\linalg\\lapack_lite.cp37-win_amd64.pyd", "mkl_vml_mc3.dll", "warn-GraveflosEnhancementTool_win64.txt", "mkl_vml_def.dll", "Qt53DLogic.dll", "GraveflosEnhancementTool_win32.exe", "mkl_core.dll", "mkl_blacs_intelmpi_ilp64.dll", "mkl_blacs_intelmpi_lp64.dll", "numpy\\random\\_common.cp37-win_amd64.pyd", "mkl_avx.dll", "mkl_pgi_thread.dll", "BDO_Enhancement_Tool\\Images\\Equipment.png", "mkl_msg.dll", "LOG.log", "lib2to3\\Grammar3.7.6.final.0.pickle", "BDO_Enhancement_Tool\\Images\\compact_overlay.png", "mkl_cdft_core.dll", "numpy\\random\\_generator.cp37-win_amd64.pyd", "tbb.dll", "numpy\\core\\_multiarray_tests.cp37-win_amd64.pyd", "Qt53DCore.dll", "Qt53DRender.dll", "BDO_Enhancement_Tool\\Images\\items\\ChainlessSlaves.pdf", "BDO_Enhancement_Tool\\Images\\items\\00000018.png", "numpy\\random\\mtrand.cp37-win_amd64.pyd", "mkl_sequential.dll", "GraveflosEnhancementTool_win32.exe.manifest", "mkl_vml_mc.dll", "numpy\\linalg\\_umath_linalg.cp37-win_amd64.pyd", "mkl_blacs_ilp64.dll", "mkl_blacs_mpich2_lp64.dll", "Qt53DAnimation.dll", "Levenshtein\\_levenshtein.cp37-win_amd64.pyd", "PYZ-00.toc", "xref-GraveflosEnhancementTool_win64.html", "Qt5Gamepad.dll", "Tree-00.toc", "mkl_vml_avx2.dll", "BDO_Enhancement_Tool\\Images\\items\\00000007.png", "BDO_Enhancement_Tool\\Images\\items\\00000019.png", "numpy\\random\\_mt19937.cp37-win_amd64.pyd", "mkl_tbb_thread.dll", "mkl_def.dll", "Qt5Concurrent.dll", "PKG-00.toc", "mkl_scalapack_lp64.dll", "BDO_Enhancement_Tool\\Images\\items\\00000008.png", "lib2to3\\PatternGrammar3.7.6.final.0.pickle", "libiomp5md.dll", "numpy\\random\\_sfc64.cp37-win_amd64.pyd", "mkl_blacs_mpich2_ilp64.dll", "numpy\\fft\\_pocketfft_internal.cp37-win_amd64.pyd", "numpy\\random\\_bounded_integers.cp37-win_amd64.pyd", "python37.dll"]
2 changes: 1 addition & 1 deletion start_ui.py
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@
setIcon = Qt_common.setIcon
MAXIMUM_LOGFILE_SIZE = 500 * 1024

RELEASE_VER = '0.4.1a3'
RELEASE_VER = '0.4.2a0'


def launch():
Expand Down

0 comments on commit dd69d42

Please sign in to comment.