@@ -34,9 +34,9 @@ We'll analyze a queueing system with:
3434
3535This will generate three key dimensionless coefficients:
3636
37- - **Occupancy (δ = L/K) ** - Queue capacity utilization
37+ - **Occupancy (θ = L/K) ** - Queue capacity utilization
3838- **Stall (σ = W·λ/L) ** - Service blocking indicator
39- - **Efective-Utility (η = K·λ/(c·μ)) ** - Resource utilization effectiveness
39+ - **Effective-Yield (η = K·λ/(c·μ)) ** - Resource utilization effectiveness
4040
4141----
4242
@@ -94,8 +94,7 @@ Create a schema with only **two** fundamental dimensional units (FDUs):
9494 ]
9595
9696 # Create schema
97- schema = Schema(_fwk = " CUSTOM" , _fdu_lt = fdu_list, _idx = 0 )
98- schema._setup_fdus()
97+ schema = Schema(_fwk = " CUSTOM" , _fdu_lt = fdu_list)
9998
10099 print (" === Simplified Custom Framework Created ===" )
101100 print (f " Framework: { schema.fwk} " )
@@ -311,7 +310,7 @@ Transform the Pi groups into operationally meaningful coefficients:
311310 # Derive Stall Coefficient: σ = Π₁ = W·λ/L
312311 sigma_coeff = engine.derive_coefficient(
313312 expr = f " { pi_keys[1 ]} " ,
314- symbol = " \\ psi " ,
313+ symbol = " \\ sigma " ,
315314 name = " Stall Coefficient" ,
316315 description = " σ = W·λ/L - Service stall/blocking indicator" ,
317316 idx = - 1
@@ -332,22 +331,22 @@ Transform the Pi groups into operationally meaningful coefficients:
332331 eta_val = eta_coeff.calculate_setpoint()
333332
334333 # Occupancy Coefficient: L/K
335- print (f " Occupancy: δ=( L/K) = { delta_val:.4f } " )
334+ print (f " Occupancy: θ = L/K = { delta_val:.4f } " )
336335
337336 # Stall Coefficient: σ = W·λ/L
338337 print (f " Stall: σ = W·λ/L = { sigma_val:.4f } " )
339338
340- # Efective-Utility Coefficient: η = K·λ/(c·μ)
341- print (f " Efective-Utility : η = K·λ/(c·μ) = { eta_val:.4f } " )
339+ # Effective-Yield Coefficient: η = K·λ/(c·μ)
340+ print (f " Effective-Yield : η = K·λ/(c·μ) = { eta_val:.4f } " )
342341
343342 **Expected Output: **
344343
345344.. code-block :: text
346345
347346 === Deriving Operational Coefficients ===
348- Occupancy: δ=( L/K) = 0.0995
347+ Occupancy: θ = L/K = 0.0995
349348 Stall: σ = W·λ/L = 0.5027
350- Efective-Utility : η = K·λ/(c·μ) = 2.5000
349+ Effective-Yield : η = K·λ/(c·μ) = 2.5000
351350
352351----
353352
@@ -380,7 +379,7 @@ Create a systematic grid of configurations:
380379 print (" === Generating Grid Data ===" )
381380
382381 # Grid parameters
383- K_values = [5 , 10 , 20 ] # Capacity values
382+ K_values = [4 , 8 , 16 ] # Capacity values
384383 c_values = [1.0 , 2.0 , 4.0 ] # Server counts
385384 mu_values = [200.0 , 500.0 , 1000.0 ] # Service rates
386385
@@ -413,7 +412,7 @@ For each configuration, sweep arrival rate until utilization threshold:
413412
414413 # Generate data
415414 for idx, (K, c, mu) in enumerate (cfg_lt, 1 ):
416- print (f " \t -* - Config { idx} / { len (cfg_lt)} : K= { K} , c= { c} , μ= { mu} -* - " )
415+ print (f " \t -- Config { idx} / { len (cfg_lt)} : K= { K} , c= { c} , μ= { mu} -- " )
417416 lambda_t = lambda_zero
418417 rho_t = 0.0
419418
@@ -446,10 +445,10 @@ For each configuration, sweep arrival rate until utilization threshold:
446445
447446 === Generating Grid Data ===
448447 Total configurations: 27
449- -* - Config 1/27: K=5 , c=1.0, μ=200.0 -* -
450- -* - Config 2/27: K=5 , c=1.0, μ=500.0 -* -
448+ -- Config 1/27: K=4 , c=1.0, μ=200.0 --
449+ -- Config 2/27: K=4 , c=1.0, μ=500.0 --
451450 ...
452- -* - Config 27/27: K=20 , c=4.0, μ=1000.0 -* -
451+ -- Config 27/27: K=16 , c=4.0, μ=1000.0 --
453452 Generated 3150 data points
454453 Data injected into PyDASA engine!
455454
@@ -504,7 +503,7 @@ Step 3.1: Create Simulation Handler
504503
505504 === Running Monte Carlo Simulation ===
506505 Simulation complete: 3150 experiments
507- Results for: ['\\Pi_{0}', '\\Pi_{1}', '\\Pi_{2}', '\\Pi_{3}', '\\delta', '\\psi ', '\\eta']
506+ Results for: ['\\Pi_{0}', '\\Pi_{1}', '\\Pi_{2}', '\\Pi_{3}', '\\delta', '\\sigma ', '\\eta']
508507
509508 Step 3.2: Extract Simulation Results
510509^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@@ -528,15 +527,15 @@ Step 3.2: Extract Simulation Results
528527 # Get data arrays
529528 print (" \n === Simulation Results Details ===" )
530529 if len (derived_keys) > 0 :
531- delta_sim = pi_data[derived_keys[0 ]]
530+ theta_sim = pi_data[derived_keys[0 ]]
532531 sigma_sim = pi_data[derived_keys[1 ]]
533532 eta_sim = pi_data[derived_keys[2 ]]
534533 lambda_data = np.array(pi_data[" \\ lambda" ])
535534 mu_data = np.array(pi_data[" \\ mu" ])
536535 c_data = np.array(pi_data[" c" ])
537536 K_data = np.array(pi_data[" K" ])
538537
539- print (f " Occupancy (δ ): Mean = { np.mean(delta_sim ):.4e } , Range = [ { np.min(delta_sim ):.4e } , { np.max(delta_sim ):.4e } ] " )
538+ print (f " Occupancy (θ ): Mean = { np.mean(theta_sim ):.4e } , Range = [ { np.min(theta_sim ):.4e } , { np.max(theta_sim ):.4e } ] " )
540539 print (f " Stall (σ): Mean = { np.mean(sigma_sim):.4e } , Range = [ { np.min(sigma_sim):.4e } , { np.max(sigma_sim):.4e } ] " )
541540 print (f " Effective-Yield (η): Mean = { np.mean(eta_sim):.4e } , Range = [ { np.min(eta_sim):.4e } , { np.max(eta_sim):.4e } ] " )
542541
@@ -545,12 +544,12 @@ Step 3.2: Extract Simulation Results
545544.. code-block :: text
546545
547546 === Extracting Simulation Results ===
548- Processing simulation: \delta
549- Processing simulation: \psi
547+ Processing simulation: \theta
548+ Processing simulation: \sigma
550549 Processing simulation: \eta
551550
552551 === Simulation Results Details ===
553- Occupancy (δ ): Mean = 4.2156e-01, Range = [9.9463e-02, 9.5238e-01]
552+ Occupancy (θ ): Mean = 4.2156e-01, Range = [9.9463e-02, 9.5238e-01]
554553 Stall (σ): Mean = 1.4532e+00, Range = [5.0271e-01, 7.1250e+00]
555554 Effective-Yield (η): Mean = 7.5463e-01, Range = [6.2500e-02, 2.5000e+00]
556555
@@ -586,22 +585,22 @@ Create a 2×2 grid showing 3D space and three 2D projections:
586585 # Auxiliary lists for plot configuration
587586 plot_types = [" 3D" , " 2D" , " 2D" , " 2D" ]
588587 plot_titles = [
589- r " 3D Space: $ \b oldsymbol{\d elta }$ vs $ \b oldsymbol{\p si }$ vs $ \b oldsymbol{\e ta}$ " ,
590- r " 2D Plane: $ \b oldsymbol{\d elta }$ vs $ \b oldsymbol{\p si }$ " ,
591- r " 2D Plane: $ \b oldsymbol{\d elta }$ vs $ \b oldsymbol{\e ta}$ " ,
592- r " 2D Plane: $ \b oldsymbol{\p si }$ vs $ \b oldsymbol{\e ta}$ "
588+ r " 3D Space: $ \b oldsymbol{\t heta }$ vs $ \b oldsymbol{\s igma }$ vs $ \b oldsymbol{\e ta}$ " ,
589+ r " 2D Plane: $ \b oldsymbol{\t heta }$ vs $ \b oldsymbol{\s igma }$ " ,
590+ r " 2D Plane: $ \b oldsymbol{\t heta }$ vs $ \b oldsymbol{\e ta}$ " ,
591+ r " 2D Plane: $ \b oldsymbol{\s igma }$ vs $ \b oldsymbol{\e ta}$ "
593592 ]
594593
595594 x_labels = [
596- r " Occupancy ( $ \b oldsymbol{\d elta }$ ) " ,
597- r " Occupancy ( $ \b oldsymbol{\d elta }$ ) " ,
598- r " Occupancy ( $ \b oldsymbol{\d elta }$ ) " ,
599- r " Stall ( $ \b oldsymbol{\p si }$ ) "
595+ r " Occupancy ( $ \b oldsymbol{\t heta }$ ) " ,
596+ r " Occupancy ( $ \b oldsymbol{\t heta }$ ) " ,
597+ r " Occupancy ( $ \b oldsymbol{\t heta }$ ) " ,
598+ r " Stall ( $ \b oldsymbol{\s igma }$ ) "
600599 ]
601600
602601 y_labels = [
603- r " Stall ( $ \b oldsymbol{\p si }$ ) " ,
604- r " Stall ( $ \b oldsymbol{\p si }$ ) " ,
602+ r " Stall ( $ \b oldsymbol{\s igma }$ ) " ,
603+ r " Stall ( $ \b oldsymbol{\s igma }$ ) " ,
605604 r " Effective-Yield ( $ \b oldsymbol{\e ta}$ ) " ,
606605 r " Effective-Yield ( $ \b oldsymbol{\e ta}$ ) "
607606 ]
@@ -610,9 +609,9 @@ Create a 2×2 grid showing 3D space and three 2D projections:
610609
611610 # Data pairs for each subplot
612611 data_pairs = [
613- (delta_sim , sigma_sim, eta_sim), # 3D plot
614- (delta_sim , sigma_sim, None ), # delta vs sigma
615- (delta_sim , eta_sim, None ), # delta vs eta
612+ (theta_sim , sigma_sim, eta_sim), # 3D plot
613+ (theta_sim , sigma_sim, None ), # theta vs sigma
614+ (theta_sim , eta_sim, None ), # theta vs eta
616615 (sigma_sim, eta_sim, None ) # sigma vs eta
617616 ]
618617
0 commit comments