Repository navigation
auto_math_constraints_duality_and_shadow_prices_4
github-actions[bot] edited this page Nov 14, 2025
·
1 revision
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)