PROCEDURE_SEQUENCE_GUIDE.mdβ’6.24 kB
# π Sistema Procedure Sequence - Controllo Manuale delle Assegnazioni
## π― Nuovo Approccio: Sicurezza e Controllo Utente
Il sistema ora **NON esegue automaticamente** le assegnazioni, ma le **inserisce nella Procedure Sequence** di Visum, dando all'utente il controllo completo.
## π§ Come Funziona
### **β
Step 1: Configurazione Automatica**
```python
# Il sistema configura automaticamente l'assegnazione
assignment_function = visum.Procedures.Functions.PrTAssignmentBPR
assignment_function.SetAttValue('MaxIter', 20)
assignment_function.SetAttValue('GapCriterion', 0.01)
```
### **β
Step 2: Inserimento in Procedure Sequence**
```python
# Aggiunge la procedura alla sequenza invece di eseguirla
procedure_sequence = visum.Procedures.ProcedureSequence
procedure_sequence.AddProcedure(assignment_function)
procedure_line = current_items + 1
```
### **β
Step 3: Informazioni per l'Utente**
```json
{
"status": "prepared_in_sequence",
"procedure_sequence": {
"added_to_sequence": true,
"procedure_line": 3,
"execution_instructions": "Go to Procedures > Procedure Sequence > Run from line 3"
},
"user_instructions": {
"step_1": "Review procedure settings in Visum GUI",
"step_2": "Check demand segments and VDF configuration",
"step_3": "Execute Procedure Sequence from line 3",
"step_4": "Run this analysis again after execution to see results"
}
}
```
## π§ͺ Comandi di Test
### **π§ Preparare Assegnazione**
```bash
# Il sistema configura ma NON esegue
"prepara un'assegnazione di equilibrio"
"setup bpr assignment"
"configura sue assignment"
```
### **π Controllare Procedure Sequence**
```bash
# Visualizza tutte le procedure nella sequenza
"check procedure sequence"
"analizza procedura sequenza"
"procedure sequence management"
```
### **π Dopo l'Esecuzione Manuale**
```bash
# Analizza i risultati dopo aver eseguito in Visum
"analizza risultati assegnazione"
"network performance dopo assignment"
```
## π Output Esempio - Procedura Preparata
```json
{
"assignment_type": "PrTAssignmentBPR",
"method_description": "BPR (Bureau of Public Roads)",
"status": "prepared_in_sequence",
"demand_segments": {
"segments_found": 2,
"segments_selected": [
{"code": "P", "name": "Private Transport", "mode": "PrT"}
],
"auto_detected": true
},
"vdf_configuration": {
"functions_in_use": ["BPR"],
"user_defined": false
},
"procedure_sequence": {
"added_to_sequence": true,
"procedure_line": 3,
"total_procedures": 3,
"execution_instructions": "Go to Procedures > Procedure Sequence > Run from line 3"
},
"user_instructions": {
"step_1": "Review procedure settings in Visum GUI",
"step_2": "Check demand segments and VDF configuration",
"step_3": "Execute Procedure Sequence from line 3",
"step_4": "Run this analysis again after execution to see results"
}
}
```
## π Output Esempio - Gestione Sequence
```json
{
"analysis_type": "procedure_sequence",
"status": "completed",
"sequence_info": {
"total_procedures": 3,
"procedures_list": [
{
"line_number": 1,
"procedure_name": "LoadDemandMatrix",
"procedure_type": "DemandProcedure",
"is_enabled": true
},
{
"line_number": 2,
"procedure_name": "PrTRouteSearch",
"procedure_type": "RoutingProcedure",
"is_enabled": true
},
{
"line_number": 3,
"procedure_name": "PrTAssignmentBPR",
"procedure_type": "AssignmentProcedure",
"is_enabled": true
}
],
"assignment_procedures_found": 1
},
"execution_options": {
"manual_execution": "Go to Procedures > Procedure Sequence in Visum GUI",
"from_line_execution": "Use 'Execute from line X' to run specific procedures",
"selective_execution": "Enable/disable procedures as needed"
}
}
```
## π― Vantaggi del Sistema
### **β
Sicurezza Completa**
- **Nessuna esecuzione automatica** non controllata
- **Revisione manuale obbligatoria** dei parametri
- **Controllo completo dell'utente** sul timing
### **β
FlessibilitΓ Massima**
- **Modifica parametri** prima dell'esecuzione
- **Esecuzione selettiva** di parti della sequenza
- **Debug e troubleshooting** facilitati
### **β
Integrazione Visum**
- **Usa il sistema nativo** di Procedure Sequence
- **Compatibile con workflow esistenti**
- **Supporta procedure complesse** multi-step
### **β
Trasparenza Totale**
- **Informazioni complete** su cosa Γ¨ stato configurato
- **Istruzioni step-by-step** per l'esecuzione
- **Feedback dettagliato** sulla configurazione
## π Workflow Completo
### **1. π§ Configurazione (Automatica)**
```bash
# Comando utente
"prepara un'assegnazione bpr"
# Il sistema:
β
Rileva demand segments automaticamente
β
Configura VDF dalle General Procedure Settings
β
Imposta parametri di convergenza
β
Aggiunge alla Procedure Sequence alla riga X
```
### **2. ποΈ Revisione (Manuale)**
```
π L'utente apre Visum GUI
π Va a Procedures > Procedure Sequence
π Verifica i parametri della procedura alla riga X
π Modifica se necessario
```
### **3. π Esecuzione (Manuale)**
```
βΆοΈ L'utente clicca "Execute from line X"
βΆοΈ Visum esegue la procedura
βΆοΈ L'utente monitora il progresso
```
### **4. π Analisi Risultati (Automatica)**
```bash
# Comando utente dopo esecuzione
"analizza risultati assegnazione"
# Il sistema:
β
Raccoglie statistiche di performance
β
Analizza congestione su 4 livelli
β
Fornisce report completo
```
## π¨ Fallback di Sicurezza
Se per qualche motivo non Γ¨ possibile aggiungere alla Procedure Sequence:
- β οΈ Il sistema avvisa l'utente
- π Esegue l'assegnazione direttamente (come prima)
- π Documenta il fallback nel report
## π Conclusione
Questo approccio garantisce:
- **π‘οΈ Sicurezza massima**: Niente esecuzioni automatiche incontrollate
- **π§ Controllo completo**: L'utente decide quando e come eseguire
- **π Trasparenza totale**: Informazioni complete su ogni step
- **π Workflow professionale**: Integrazione nativa con Visum
L'utente ha ora il **controllo completo** del processo di assegnazione! π―