shrddr / workermanjs

2 stars 0 forks source link

Workers' houses, which can be taken when taking a workshop, are not taken into account #3

Open shrddr opened 2 months ago

shrddr commented 2 months ago

Example: Heidel 7-4 2. Floor (Costume Workshop)

While taking the specified workshop above, we can take lodging in 7-3 1F, but app doesn't understand it. I tried to manipulate it by increasing P2W lodging but it was unstable.

Heidel Setup image

Heidel Config It says i should pick 8-1 and 4-1 worker homes but it is unnecessary since i already have took 7-3 1F (which gives 4 worker slots) because it was on our way already. image

Heidel Manupulated P2W to observe unstable behaviour Increased P2W slots by 4 accepting that app completely ignored 7-3 1F. But now It suggests to use 7-3 1F (Showing cost 5CP). So it means it is unaware that 7-3 1F is already taken to get Costume Workshop image

Workshop Config image

This thing affects all setups. Because it calculates the lodging setup and CP usage wrong. It affects Best Untaken nodes and current nodes. Basically, you can't proceed further because all the data you see will be wrong from this point.

Possible quick solution Option to allocate houses manually

Current worker list user (36).json

Thell commented 1 week ago

This would be a tough one to solve at the data generation level for lodging/storage because it would require either storing all equal alternates or calculating the storage/lodging in real time by calling out to a mip solver which can get very expensive time-wise depending on the town.

I forget how much storage space is needed for the larger towns equal alternates but if memory serves its a few GB. If that is a direction you think you might want to go let me know and I can modify and re-run the solver with retention for something like Heidel.

shrddr commented 1 week ago

do not want multiple GB lookup tables. it's perfectly feasible to find good enough workshops with just pen and paper

Thell commented 1 week ago

Agreed. Users can readily use the Housecraft viewer to find the cheapest 'next' lodging after the taken one.