Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

MIP solver allows path splitting #34

Open
AlexisSchOrange opened this issue Oct 15, 2024 · 3 comments
Open

MIP solver allows path splitting #34

AlexisSchOrange opened this issue Oct 15, 2024 · 3 comments

Comments

@AlexisSchOrange
Copy link

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

scenario = BasicScenario.from_config(Env, Solver, config)
scenario.run()

print(f"\n{'-' * 20}   Complete   {'-' * 20}\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)
`

image

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

@GeminiLight
Copy link
Owner

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.

@AlexisSchOrange
Copy link
Author

Thanks ! If I find some time I will try to write it and push it.

@GeminiLight
Copy link
Owner

Woohoo! Thank you so much! 😊

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants