- Update Flask server to run on port 8080 instead of 5000 - Update frontend API_BASE URL to http://localhost:8080/api - Update launcher script to open browser at port 8080 - Update README documentation with new port number This resolves the port conflict with Siemens documentation server.
5.0 KiB
5.0 KiB
Atomizer Dashboard
Professional web-based dashboard for controlling and monitoring optimization runs.
Features
Study Management
- List all studies - View all optimization studies with metadata
- Resume studies - Continue existing studies with additional trials
- Delete studies - Clean up old/unwanted studies
- Study details - View complete history, results, and metadata
Optimization Control
- Start new optimizations - Configure and launch optimization runs
- Real-time monitoring - Track progress of active optimizations
- Configuration management - Load and save optimization configs
Visualization
- Progress charts - Objective values over trials
- Design variable plots - Track parameter evolution
- Constraint visualization - Monitor constraint satisfaction
- Running best - See convergence progress
Results Analysis
- Best results cards - Quick view of optimal solutions
- Trial history table - Complete trial-by-trial data
- Export capabilities - Download results in CSV/JSON
Installation
- Install dependencies:
cd dashboard
pip install -r requirements.txt
- Start the dashboard server:
python api/app.py
- Open your browser to:
http://localhost:8080
Quick Start
Method 1: Using the launcher script
cd C:\Users\antoi\Documents\Atomaste\Atomizer
python dashboard/start_dashboard.py
Method 2: Manual start
cd dashboard
python api/app.py
The dashboard will automatically open in your default browser at http://localhost:8080
Usage
Starting a New Optimization
- Click "New Optimization" button
- Enter study name
- Set number of trials
- Select configuration file
- Optionally check "Resume existing" if continuing a study
- Click "Start Optimization"
Viewing Study Results
- Click on a study in the sidebar
- View summary cards showing best results
- Examine charts for optimization progress
- Review trial history table for details
Resuming a Study
- Select the study from the sidebar
- Click "Resume Study"
- Enter number of additional trials
- Optimization continues from where it left off
Monitoring Active Optimizations
Active optimizations appear in the sidebar with:
- Real-time progress bars
- Current trial number
- Status indicators
API Endpoints
Studies
GET /api/studies- List all studiesGET /api/studies/<name>- Get study detailsDELETE /api/studies/<name>/delete- Delete a study
Optimization
POST /api/optimization/start- Start new optimizationGET /api/optimization/status- Get all active optimizationsGET /api/optimization/<name>/status- Get specific optimization status
Configuration
GET /api/config/load?path=<path>- Load config filePOST /api/config/save- Save config file
Visualization
GET /api/results/visualization/<name>- Get chart data
Architecture
dashboard/
├── api/
│ └── app.py # Flask REST API server
├── frontend/
│ ├── index.html # Main dashboard UI
│ ├── app.js # JavaScript logic
│ └── styles.css # Modern styling
├── requirements.txt # Python dependencies
└── README.md # This file
Technology Stack
- Backend: Flask (Python)
- Frontend: Vanilla JavaScript + Chart.js
- Styling: Modern CSS with gradients and shadows
- Charts: Chart.js for interactive visualizations
Features in Detail
Real-time Monitoring
The dashboard polls active optimizations every 5 seconds to show:
- Current trial number
- Progress percentage
- Status (running/completed/failed)
Study Persistence
All studies are stored in SQLite databases with:
- Complete trial history
- Optuna study state
- Metadata (creation date, config hash, resume count)
Configuration Detection
The system automatically detects when a study configuration has changed:
- Warns when resuming with different geometry
- Calculates MD5 hash of critical config parameters
- Helps prevent invalid resume operations
Troubleshooting
Dashboard won't start
- Check that Flask is installed:
pip install flask flask-cors - Ensure port 5000 is not in use
- Check firewall settings
Can't see studies
- Verify optimization_results folder exists
- Check that studies have metadata files
- Refresh the studies list
Charts not showing
- Ensure Chart.js loaded (check browser console)
- Verify study has trial history
- Check API endpoints are responding
Future Enhancements
- Multi-objective Pareto front visualization
- Export results to PDF/Excel
- Optimization comparison tool
- Parameter importance analysis
- Surrogate model visualization
- Configuration editor UI
- Live log streaming
- Email notifications on completion
Support
For issues or questions:
- Check the console for error messages
- Verify API is running (
http://localhost:5000/api/studies) - Review optimization logs in the console