Implementation of nonlinear optimization methods for prediction of Supply and Use Tables (SUTs) using historical data.
- MethodsFromArticle — implementation of methods from the article "Projection of Supply and Use Tables: Methods and their Empirical Assessment" and the russian book "Методы оптимизации и исследование операций для бакалавров информатики. Ч. II"
- methods_tester.ipynb - testing (applying) implemented methods using the tables from folder 'data'.
- data — SUTs dataset of the Netherlands for the fiscal years of 2010, 2011, and 2012 from the WIOD Repository
- data_rus — SUTs dataset of Russia for the fiscal years of 2012, 2013 from the Rosstat Repository
- presentation/main.pdf — presentation of a brief description of the problem, mathematic model, testing model and results (in Russian)
- numpy >= 1.17.4
- scipy >= 1.3.1
Copy the 'MethodsFromArticle' folder to your project folder.
import numpy as np
from MethodsFromArticle import predict
from MethodsFromArticle import predict_grad
# Initial supply or use matrix
sup10 = np.load('data//sup10.npy')
# Constraint vectors — summation by rows and columns
sup11 = np.load('data//sup11.npy')
u = np.sum(sup11, axis=1)
v = np.sum(sup11, axis=0)
# Available methods for prediction:
# INS - Improved Normalized Squared Difference
# IWS - Improved Weighted Square Differences
# ISD - Improved Square Differences
# RAS - RAS method
pred_sup11 = predict(sup10, u, v, method='INS')
# Proximal gradient method
pred_sup11 = predict_grad(sup10, u, v)