Skip to content

auto_math_constraints_duality_and_shadow_prices_4

github-actions[bot] edited this page Nov 14, 2025 · 1 revision

Snippet from Math-Constraints-Duality-and-Shadow-Prices.md

import matplotlib.pyplot as plt
import seaborn as sns

def plot_shadow_heatmap(shadow_history: np.ndarray, constraint_names: list):
    """
    Heatmap of prices over time.
    
    Args:
        shadow_history: (T, m) array.
        constraint_names: Labels.
    """
    plt.figure(figsize=(12, 6))
    sns.heatmap(
        shadow_history.T,
        yticklabels=constraint_names,
        cmap='RdYlGn_r',
        cbar_kws={'label': 'Shadow Price lambda'},
        vmin=0, vmax=1
    )
    plt.xlabel('Iteration')
    plt.ylabel('Constraint')
    plt.title('Shadow Prices Over Time')
    plt.tight_layout()
    plt.savefig('shadow_heatmap.png', dpi=300)
    print("Saved to shadow_heatmap.png")
    
# Example
shadows = np.random.rand(6, 4)  # 6 iters, 4 constraints
names = ['Cost', 'Latency', 'Access', 'Quality']
plot_shadow_heatmap(shadows, names)

Clone this wiki locally