FoPra Beluga Challenge - Reinforcement Learning v1.0
Deep Reinforcement Learning solution for the Beluga Challenge shipping container optimization problem using PPO and MCTS
setup_dependencies Namespace Reference

Functions

 install_package (package)
 
 main ()
 

Detailed Description

Setup script for Beluga Challenge dependencies

Function Documentation

◆ install_package()

setup_dependencies.install_package ( package)
Install a package using pip
9def install_package(package):
10 """Install a package using pip"""
11 try:
12 print(f"Installing {package}...")
13 subprocess.check_call([sys.executable, "-m", "pip", "install", package])
14 print(f"✓ Successfully installed {package}")
15 return True
16 except subprocess.CalledProcessError as e:
17 print(f"✗ Failed to install {package}: {e}")
18 return False
19

◆ main()

setup_dependencies.main ( )
Main setup function
20def main():
21 """Main setup function"""
22 print("=" * 60)
23 print("BELUGA CHALLENGE - DEPENDENCY INSTALLATION")
24 print("=" * 60)
25
26 # Core dependencies
27 dependencies = [
28 "torch>=2.0.0",
29 "numpy>=1.21.0",
30 "matplotlib>=3.5.0",
31 "gymnasium>=0.29.0",
32 "typing-extensions>=4.0.0",
33 "pytest>=7.0.0",
34 "jupyter>=1.0.0"
35 ]
36
37 # Optional dependencies
38 optional_dependencies = [
39 "pandas>=1.5.0",
40 "seaborn>=0.11.0"
41 ]
42
43 # Upgrade pip first
44 print("\nUpgrading pip...")
45 try:
46 subprocess.check_call([sys.executable, "-m", "pip", "install", "--upgrade", "pip"])
47 print("✓ pip upgraded successfully")
48 except subprocess.CalledProcessError:
49 print("⚠ Failed to upgrade pip, continuing anyway...")
50
51 # Install core dependencies
52 print(f"\nInstalling {len(dependencies)} core dependencies...")
53 failed_packages = []
54
55 for package in dependencies:
56 if not install_package(package):
57 failed_packages.append(package)
58
59 # Install optional dependencies
60 print(f"\nInstalling {len(optional_dependencies)} optional dependencies...")
61
62 for package in optional_dependencies:
63 if not install_package(package):
64 print(f"⚠ Optional package {package} failed to install (not critical)")
65
66 # Summary
67 print("\n" + "=" * 60)
68 print("INSTALLATION SUMMARY")
69 print("=" * 60)
70
71 if failed_packages:
72 print(f"✗ {len(failed_packages)} core packages failed to install:")
73 for package in failed_packages:
74 print(f" - {package}")
75 print("\nPlease try installing these manually:")
76 for package in failed_packages:
77 print(f" pip install {package}")
78 else:
79 print("✓ All core dependencies installed successfully!")
80
81 print("\nYou can now run the Beluga Challenge:")
82 print(" python -m rl.main --help")
83 print("\nFor training:")
84 print(" python -m rl.main --mode train")
85 print("\nFor problem evaluation:")
86 print(" python -m rl.main --mode problem --problem_path problems/problem_7_s49_j5_r2_oc85_f6.json")
87