示例#1
0
def main():
    #valList = []
    start_time = time.clock()
    output = dict()
    output[0] = []
    for shock in range(5):
        paramL['curr_theta'] = paramL['theta_list'][shock]
        valnew = TasmanianSG.TasmanianSparseGrid()
        valnew = interpol.sparse_grid(paramL)
        valold = TasmanianSG.TasmanianSparseGrid()
        valold = valnew
        output[0].append(valold)
        valnew.write("valnew_1." + str(paramL['numstart']) +
                     ".s{}".format(shock) +
                     ".txt")  #write file to disk for restart

    for i in range(paramL['numstart'] + 1, paramL['numits'] + 1):
        output[i] = list()
        for shock in range(5):
            paramL['curr_theta'] = paramL['theta_list'][shock]
            valnew = TasmanianSG.TasmanianSparseGrid()
            valnew = interpol_iter.sparse_grid_iter(paramL,
                                                    list(output[i - 1]))
            valold = TasmanianSG.TasmanianSparseGrid()
            valold = valnew
            output[i].append(valold)
            valnew.write("valnew_1." + str(i) + ".s{}".format(shock) + ".txt")

    avg_err = post.ls_error(paramL)
    end_time = time.clock() - start_time
    print('END')
    print(end_time)

    return output
示例#2
0
def main():
    start_time = time.clock()

    paramL['curr_theta'] = paramL['theta_list'][rank]
    valnew = TasmanianSG.TasmanianSparseGrid()
    valnew = interpol.sparse_grid(paramL)
    valold = TasmanianSG.TasmanianSparseGrid()
    valold = valnew
    valnew.write("valnew_1." + str(paramL['numstart']) + ".s{}".format(rank) +
                 ".txt")  #write file to disk for restart

    comm.barrier()

    for i in range(paramL['numstart'] + 1, paramL['numits'] + 1):
        print('Size: ', size, ' rank ', rank)
        paramL['curr_theta'] = paramL['theta_list'][rank]
        valnew = TasmanianSG.TasmanianSparseGrid()
        output = get_iteration_list(i - 1)
        valnew = interpol_iter.sparse_grid_iter(paramL, list(output))
        valold = TasmanianSG.TasmanianSparseGrid()
        valold = valnew
        valnew.write("valnew_1." + str(i) + ".s{}".format(rank) + ".txt")
        comm.barrier()

    end_time = time.clock() - start_time
    print('END')
    if rank == 0:
        avg_err = post.ls_error(paramL)
        print(end_time)
示例#3
0
def run_all(n_agents):
    valnew=TasmanianSG.TasmanianSparseGrid()
    if (numstart==0):
        valnew=interpol.sparse_grid(n_agents, iDepth)
        valnew.write("valnew_1." + str(numstart) + ".txt") #write file to disk for restart
    
    # value function during iteration
    else:
        valnew.read("valnew_1." + str(numstart) + ".txt")  #write file to disk for restart
        
    valold=TasmanianSG.TasmanianSparseGrid()
    valold=valnew
    
    for i in range(numstart, numits):
        valnew=TasmanianSG.TasmanianSparseGrid()
        valnew=interpol_iter.sparse_grid_iter(n_agents, iDepth, valold)
        valold=TasmanianSG.TasmanianSparseGrid()
        valold=valnew
        valnew.write("valnew_1." + str(i+1) + ".txt")
        
    #======================================================================
    print "==============================================================="
    print " "
    print " Computation of a growth model of dimension ", n_agents ," finished after ", numits, " steps"
    print " "
    print "==============================================================="
    #======================================================================
    
    # compute errors   
    avg_err, max_err =post.ls_error(n_agents, numstart, numits, No_samples)
    
    #======================================================================
    print "==============================================================="
    print " "
    print " Errors are computed -- see errors.txt"
    print " "
    print "==============================================================="
    #======================================================================
    return avg_err, max_err
示例#4
0
        #valnew=interpol_iter.sparse_grid_iter(n_agents, iDepth, valold)
        valnew = interpol_iter_adap.ad_grid_iter(n_agents, iDepth, storeValOld)
        # valold=TasmanianSG.TasmanianSparseGrid()
        # valold=valnew
        # valnew.write("valnew_1." + str(i+1) + ".txt")
        storeVal.append(valnew)
    storeValOld = []
    for jj in range(5):
        valold = TasmanianSG.TasmanianSparseGrid()
        valold = storeVal[jj]
        storeValOld.append(valold)

#======================================================================
print "==============================================================="
print " "
print " Computation of a growth model of dimension ", n_agents, " finished after ", numits, " steps"
print " "
print "==============================================================="
#======================================================================

# compute errors
avg_err = post.ls_error(n_agents, numstart, numits, No_samples)

#======================================================================
print "==============================================================="
print " "
print " Errors are computed -- see errors.txt"
print " "
print "==============================================================="
#======================================================================
示例#5
0
def run_all(n_agents):
    valnew=TasmanianSG.TasmanianSparseGrid()

    if (numstart==0):
        gridlist = []
        for tT in range(ntheta):
            valnew=TasmanianSG.TasmanianSparseGrid()
            valnew=interpol.sparse_grid(n_agents, iDepth, theta[tT])
            gridlist.append(valnew)
            valnew.write("valnew_1." + str(numstart) + "theta_" + str(tT) +  ".txt") #write file to disk for restart

    # value function during iteration
    else:
        gridlist = []
        for tT in range(ntheta):
            valnew.read("valnew_1." + str(numstart) + "theta_" + str(tT) +  ".txt")  #write file to disk for restart
            gridlist.append(valnew)

    #valold=TasmanianSG.TasmanianSparseGrid()
    #valold=valnew

    # avals_list = []

    for i in range(numstart, numits):
        print " ================================================= "
        print "             Iteration", i
        print " ================================================= " 
        for tT in range(ntheta):
            thet = theta[tT]
            valnew = TasmanianSG.TasmanianSparseGrid()
            valnew = interpol_iter.sparse_grid_iter(n_agents, iDepth, gridlist, thet)

            valnew.write("valnew_1." + str(i+1) + "theta_" + str(tT) + ".txt")
            gridlist[tT].copyGrid(valnew)
        
        # valnew0=TasmanianSG.TasmanianSparseGrid()
        # valnew1=TasmanianSG.TasmanianSparseGrid()
        # valnew2=TasmanianSG.TasmanianSparseGrid()
        # valnew3=TasmanianSG.TasmanianSparseGrid()
        # valnew4=TasmanianSG.TasmanianSparseGrid()
        #
        # valnew0=interpol_iter.sparse_grid_iter(n_agents, iDepth, valold, theta[0])
        # valnew1=interpol_iter.sparse_grid_iter(n_agents, iDepth, valold, theta[1])
        # valnew2=interpol_iter.sparse_grid_iter(n_agents, iDepth, valold, theta[2])
        # valnew3=interpol_iter.sparse_grid_iter(n_agents, iDepth, valold, theta[3])
        # valnew4=interpol_iter.sparse_grid_iter(n_agents, iDepth, valold, theta[4])

        # evaluate all grids at the same points
        # chosen arbitrarily to be the points of the third grid where theta=1
        # eval_points = valnew2.getPoints()
        #
        # aVals0 = valnew0.evaluateBatch(eval_points)[:,0]
        # aVals1 = valnew1.evaluateBatch(eval_points)[:,0]
        # aVals2 = valnew2.evaluateBatch(eval_points)[:,0]
        # aVals3 = valnew3.evaluateBatch(eval_points)[:,0]
        # aVals4 = valnew4.evaluateBatch(eval_points)[:,0]

        # print aVals0, aVals4

        # aVals_new = 0.2 *(aVals0 + aVals1 + aVals2 + aVals3 + aVals4)
        # aVals_new = np.reshape(aVals_new, (eval_points.shape[0], 1))

        #f=open("aVals_new.txt", 'a')
        #np.savetxt(f, aVals_new, fmt='% 2.16f')
        #f.close()

        # print "==================================================================="
        # print " print avals shape here :"
        # print aVals_new.shape
        #
        # valold=TasmanianSG.TasmanianSparseGrid()
        # valold.copyGrid(valnew2)
        # valold.loadNeededPoints(aVals_new)
        #valold=valnew

        # valold.write("valnew_1." + str(i+1) + "theta_" + str(tT) + ".txt")

    #======================================================================
    print "==============================================================="
    print " "
    print " Computation of a growth model of dimension ", n_agents ," finished after ", numits, " steps"
    print " "
    print "==============================================================="
    #======================================================================

    # compute errors
    post.ls_error(n_agents, numstart, numits, No_samples)

    #======================================================================
    print "==============================================================="
    print " "
    print " Errors are computed -- see errors_theta_NUM.txt"
    print " "
    print " Groupwork of Max, Clint and Ben at OSM Lab 2017"
    print "==============================================================="
示例#6
0
for i in range(paramL['numstart'], paramL['numits']):
    for state in range(5):
        paramL['curr_theta'] = paramL['theta_list'][state]
        valnew=TasmanianSG.TasmanianSparseGrid()
        valnew=interpol_iter.sparse_grid_iter(paramL, valListold[state])
        valList[state] = valnew
    for state in range(5):
        valold=TasmanianSG.TasmanianSparseGrid()
        valold=valList[state]
        valListold[state] = valold
    
#======================================================================
print( "===============================================================")
print( " " )
print( " Computation of a growth model of dimension ", paramL['n_agents'] ," finished after ", paramL['numits'], " steps")
print( " " )
print( "===============================================================")
#======================================================================

# compute errors   
avg_err=post.ls_error(paramL)

#======================================================================
print( "===============================================================")
print( " ")
print( " Errors are computed -- see errors.txt")
print( " ")
print( "===============================================================")
#======================================================================