Economic Policy Simulation and Optimization Peter Le Computer Systems Research Period 2 5/28/2009
Purpose Create feasible and simple economic (taxation and welfare) model Implement optimization algorithm effectively Help improve public policy through test runs and simulation data
Economic Policy Government regulation Citizen feedback Changes depending on demographics and economy
Simulation Government/Citizen relationship over a 12 year cycle Citizen objects consume, produce, spend, and are taxed Government welfare based on need/approval Society assessment based on citizen self- assessment, approval ratings, and government self-assessment
Problems to Solve Realistic economic cycle Feasible demographics Identifying ramifications of different policy change
Simulation Optimization Retrieve raw data and assess Multiple variables mean the best run isn’t necessarily optimal Optimization
Background Data on taxes and welfare Not much previous research Higher taxes, more government programs Upward trend of spending Not much previous research “Happiness” assessments
Development Q1 Q2 Q3 Q4 Preliminary research Starting the model Finishing the model Data handling and analysis Q3 Optimization research Coding the optimization stage Q4 Final optimization program Assessment of “best” policies
The Cycle Given Citizen traits: Wealth, wealthAssessment Given Government traits: Wealth, wealthAssessment, approvalRating, taxRate, welfareRate, salesTaxRate Monthly assessments to track progress
Approval Government Wealth WealthAssessment Approval Rating Tax Rate Sales Tax Rate Responsiveness Taxes Welfare Population Wealth Approval WealthAssessment Work Rate Spending Rate FitnessEvaluation
The Model Java, JGrasp Iterative Model allowing for multiple governments, citizen pools Input data → Read data → Cycle → Print data → Analyze data GNUPlot for data display Data somewhat arbitrary now but will look for more realistic data Optimization and randomization mitigates need for solid data
Why Java? Alternatives: MASON, NetLogo Not pre-packaged, but easily modifiable Agent based approach with outside genetic algorithm warrants relatively complex code Handling input/output
Optimization Methods Genetic algorithm Hill Climbing Genetic Algorithm Run tests Retrieve data, determine the “best” and “breed” them Repeat Advantage over Hill Climbing
Genetic Algorithm Stochastic process Evolutionary process Problems Crossbreed pairs with best data Converges to local maxima/minima Problems Locality Lots of variables
Basic Genetic Algorithm Model Data Output Assessment Sorting Basic Genetic Algorithm Mutation Breeding Selection
Genetic Algorithm Test Generation 1 Generation 6
Specific Issues Multivariate crossover Overcoming local maxima Tax rate (Income and sales) Welfare rate and criteria (Responsiveness) Overcoming local maxima Varying degrees of importance # of generations
Model Results
Run 1 Government Wealth Civilian Aggregate Wealth Economic Assessment
Run 2 Government Wealth Civilian Aggregate Wealth Economic Assessment
Run 9 Government Wealth Civilian Aggregate Wealth Economic Assessment
Model Discussion Dual-curve behavior – elusive Economic assessment generally curves downwards after variation lessens Governments gain wealth steadily Civilians gain or lose wealth, but converge to an equilibrium
Model Discussion Government wealth always increases without deceleration Some sort of equilibrium for aggregate Citizen wealth Assessment is erratic Based on immediately previous data Based on ratios, large drops/gains are “forgotten”
Genetic Algorithm Results Early trial: Indication of a problem [Trial number, generation, assessment] 0, 0, 1.0047507115885828 0, 1, 1.0083489109062942 0, 2, 1.4181731746426252 0, 3, 2.0526606700631387 0, 4, NaN 0, 5, NaN 0, 6, NaN 0, 7, NaN 0, 8, NaN 0, 9, NaN NaN: Not a Number
Test runs Most result in higher assessments Some anomalic low assessments
What’s going on? Ratio based assessment Large debt or profit or zeros create calculation problems Government basically loses too much money Genetic algorithm doesn’t significantly result in lower assessments in most runs, but clearly there is a problem Local maxima
Discussion If the citizenry’s gains are more drastic than the government’s losses, the citizenry approves Pattern of over-spending People want low taxes but benefits High spending, low revenue → debt Government spending doesn’t necessarily help the economy Model doesn’t change policy dynamically within a run
Aftermath Modifiability accomplished Initial data not particularly positive Many variables → data is hard to read What is “important”? Sustainable economies Genetic algorithm is a success, but the model’s success ultimately lies in the assessment
Things to Work On A more fair assessment of the society Current weights government and population importance equally One group may fail but the assessment isn’t indicative if the other succeeds enough Optimization tweaking Test more situations – different government structures
Lessons Learned Variable data sets Inferring trends and cause-effect relationships from data A clear objective is essential