You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Hello,
Thanks for the very nice tool, I will probably use it for my thesis.
I've been looking at your MIP implementation a bit, it seems that it allows path splitting (which it should not if I have understood the doc):
`
from virne.base import BasicScenario
from virne import Config, REGISTRY, Generator, update_simulation_setting
if name == 'main':
config = Config(
solver_name='mip',
# p_net_setting_path='customized_p_net_setting_file_path',
# v_sim_setting_path='customized_v_sim_setting_file_path',
)
config.update({'verbose':1})
Generator.generate_dataset(config, p_net=True, v_nets=True, save=True)
run(config)
`
I think the paper from Chowdury et al. allows for path splitting. A formulation that can be found in some papers, with variable x and y (instead of f) allows to prevent path splitting (although it makes the problem much harder).
The text was updated successfully, but these errors were encountered:
Thank you for your feedback. I agree that implementing the MLP solver is challenging without allowing for path splitting. We should consider additional constraints on path routing and incorporate them into the solver's formulation. However, due to limited time and energy, these features may be considered for future development.
Hello,
Thanks for the very nice tool, I will probably use it for my thesis.
I've been looking at your MIP implementation a bit, it seems that it allows path splitting (which it should not if I have understood the doc):
`
from virne.base import BasicScenario
from virne import Config, REGISTRY, Generator, update_simulation_setting
def run(config):
print(f"\n{'-' * 20} Start {'-' * 20}\n")
# Load solver info: environment and solver class
solver_info = REGISTRY.get(config.solver_name)
Env, Solver = solver_info['env'], solver_info['solver']
print(f'Use {config.solver_name} Solver (Type = {solver_info["type"]})...\n')
if name == 'main':
config = Config(
solver_name='mip',
# p_net_setting_path='customized_p_net_setting_file_path',
# v_sim_setting_path='customized_v_sim_setting_file_path',
)
config.update({'verbose':1})
Generator.generate_dataset(config, p_net=True, v_nets=True, save=True)
run(config)
`
I think the paper from Chowdury et al. allows for path splitting. A formulation that can be found in some papers, with variable x and y (instead of f) allows to prevent path splitting (although it makes the problem much harder).
The text was updated successfully, but these errors were encountered: