def test_problem1():
    X1 = ad(ia(-1100., 1400.), name='X1', N=2, dim=0)
    X2 = ad(ia(-1400., 1200.), name='X2', N=2, dim=1)
    #X1 = ad(ia(-2.,4.), name = 'X1', N=2, dim = 0)
    #X2 = ad(ia(-4.,2.), name = 'X2', N=2, dim = 1)

    #X1 = ad(ia(-11.,14.), name = 'X1', N=2, dim = 0)
    #X2 = ad(ia(-14.,12.), name = 'X2', N=2, dim = 1)
    #X1 = ad(ia(-.11,.14), name = 'X1', N=2, dim = 0)
    #X2 = ad(ia(-.14,.12), name = 'X2', N=2, dim = 1)
    #C = ad( ia(-20.,20.), name = 'h0', N=2, dim = -1)
    X = [[X1], [X2]]
    """
    func = thcf
    tol = 1.e-10
    """
    sp = UnconstrainedPaver(thcf, X, tol=1.e-10)
    #
    #sp.compute_subpaving()
    """ 
    X1 = ad(ia(-4.1,4.), name = 'X1', N=2, dim = 0)
    X2 = ad(ia(-4.,4.), name = 'X2', N=2, dim = 1)
    X = [[X1],[X2]]
    func = thcf
    tol = 1.e-20
    Bspline_style = True
    Xn, nit, y, converged  = IA.compute_interval_newton_basic(thcf,
                                                                      X,itmax=100,
                                                                      tol = 1.e-25)
    #"""
    return X, sp
Ejemplo n.º 2
0
def test_problem1():
    #X1 = ad(ia(-1100.,1400.), name = 'X1', N=2, dim = 0)
    #X2 = ad(ia(-1400.,1200.), name = 'X2', N=2, dim = 1)
    #X1 = ad(ia(-2.,4.), name = 'X1', N=2, dim = 0)
    #X2 = ad(ia(-2.,4.), name = 'X2', N=2, dim = 1)
    X1 = ad(ia(-2., 4.), name='X1', N=2, dim=0)
    X2 = ad(ia(-4., 2.), name='X2', N=2, dim=1)
    #X1 = ad(ia(-4.,4.), name = 'X1', N=2, dim = 0)
    #X2 = ad(ia(-4.,4.), name = 'X2', N=2, dim = 1)
    #X1 = ad(ia(2.9,3.1), name = 'X1', N=2, dim = 0)
    #X2 = ad(ia(0.4,.6), name = 'X2', N=2, dim = 1)

    #X1 = ad(ia(-11.,14.), name = 'X1', N=2, dim = 0)
    #X2 = ad(ia(-14.,12.), name = 'X2', N=2, dim = 1)
    #X1 = ad(ia(-.11,.14), name = 'X1', N=2, dim = 0)
    #X2 = ad(ia(-.14,.12), name = 'X2', N=2, dim = 1)
    #C = ad( ia(-20.,20.), name = 'h0', N=2, dim = -1)
    X = [[X1], [X2]]
    """
    func = thcf
    tol = 1.e-10
    """
    #1.0
    sp = UnconstrainedPaver(thcf, X, tol=1.e-6)

    #16.
    sp = UnconstrainedPaver(schwefel1, X, tol=1.e-6)

    #17.
    #sp = UnconstrainedPaver(schwefel2,X,tol = 1.e-6)

    #18.
    sp = UnconstrainedPaver(schwefel3, X, tol=1.e-3)

    #20.
    sp = UnconstrainedPaver(booth, X, tol=1.e-3)

    #28
    #sp = UnconstrainedPaver(schwefel32,X,tol = 1.e-3)

    #29
    sp = UnconstrainedPaver(rosenbrock, X, tol=1.e-2)
    #
    #sp.compute_subpaving()
    """ 
    X1 = ad(ia(-4.1,4.), name = 'X1', N=2, dim = 0)
    X2 = ad(ia(-4.,4.), name = 'X2', N=2, dim = 1)
    X = [[X1],[X2]]
    func = thcf
    tol = 1.e-6
    Bspline_style = True
    Xn, nit, y, converged  = IA.compute_interval_newton_basic(thcf,
                                                                      X,itmax=100,
                                                                      tol = 1.e-25)
    #"""
    return X, sp
Ejemplo n.º 3
0
def my_test1():
    x = ad( ia(-10.,10.), N=2, dim = 0)
    y = ad( ia(-10.,10.), N=2, dim = 1)
    X = [[x],[y]]
    sp1 = UnconstrainedPaver(func0, X)
    self = sp1
    #sp1.compute_subpaving()
    #sp1.plot_subpaving()
    #print self.ntboxes
    return X,sp1
def test_problem1():
    X1 = ad(ia(-12.,10.), name = 'X1', N=2, dim = 0)
    X2 = ad(ia(-11.,10.3), name = 'X2', N=2, dim = 1)
    C = ad( ia(-20.,20.), name = 'h0', N=2, dim = -1)
    X = [[X1],[X2]]
    """
    func = thcf
    tol = 1.e-10
    """
    sp = CurvePaver(thcf,X,C,tol = 0.5)
    #Xn, nit = IntervalAnalysis.compute_interval_newton_basic(thcf,X,itmax=100)
    sp.compute_subpaving()
    return
 def makeGradient(N, i):
     """function to
     create a gradient of interval components
     """
     ia_id = ia(1., 1.)
     ia_null = ia(0., 0.)
     if i >= 0:
         Im = np.identity((N), float)  #np.matrix(np.identity((N),float))
     elif i == -1:  #interval contraint -> gradient is null
         Im = np.zeros((N, N), float)
     GX = []
     for j in range(N):
         if j == i:
             GX.append(ia_id * Im[i, j])
         else:
             GX.append(ia_null * Im[i, j])
     GX = np.matrix(GX)
     return GX
 def makeHessian(N):
     """function to
     create a Hessian of interval components
     """
     ia_null = ia(0., 0.)
     m1 = np.zeros((N, N), float)  #np.matrix(np.zeros((N,N),float))
     HX = []
     for i in range(N):
         HX.append([])
         for j in range(N):
             HX[i].append(ia_null * m1[i, j])
     HX = np.matrix(HX)  #np.asarray(HX)#
     return HX
Ejemplo n.º 7
0
     print 'at min location:'
     print el
     print '\n'
 """
 """
 self.compute_subpaving()
 for i, el in enumerate(self.boundary):
     F = self.f(el)
     F.name = 'Minimum {}'.format(i)
     F.value
     
     print 'at min location:'
     print el
     print '\n'
 """
 X1 = ad(ia(-2.,4.), name = 'X1', N=2, dim = 0)
 X2 = ad(ia(-2.,4.), name = 'X2', N=2, dim = 1)
 
 #X1 = ad(ia(-11.,14.), name = 'X1', N=2, dim = 0)
 #X2 = ad(ia(-14.,12.), name = 'X2', N=2, dim = 1)
 #X1 = ad(ia(-.11,.14), name = 'X1', N=2, dim = 0)
 #X2 = ad(ia(-.14,.12), name = 'X2', N=2, dim = 1)
 #C = ad( ia(-20.,20.), name = 'h0', N=2, dim = -1)
 func = thcf
 #func = schwefel1
 #func = schwefel2
 tol = 1.e-10
 Bspline_style = True
 #V = [[X1],[X2]]
 X = [[X1],[X2]]
 if Bspline_style:
        return
        



if __name__ == '__main__':
    a = interval([1.,2.])
    b = interval([1.0, 4.0])
    c = interval([0.0, 4.0])
    d = interval([-4.0, -1.0])
    e = interval([-4.0, 4.0])
    g = interval([-1.,4.])
    
    clist = [a,b,c,d,e]
    
    a1 = ia(1.,2.)
    a2 = ia(1.,4.)
    a3 = ia(0.,4.)
    a4 = ia(-4.,-1.)
    a5 = ia(-4.,4.)
    
    mylist = [a1,a2,a3,a4,a5]
    
    TC = IATest(clist, mylist)
    TC.test_add()
    TC.test_subtract()
    TC.test_multiply()
    TC.test_division()
    TC.test_pow()
    TC.test_sqrt()
    TC.test_arctan()
Ejemplo n.º 9
0
        #s = self.compute_midship_coefficient()

        #del(state.values[c1])
        #del(state.values[c2])
        dkeys = []
        for key in state.values:
            if not isinstance(key, lp.Variable):
                dkeys.append(key)
        for key in dkeys:
            del (state.values[key])

        return state

if __name__ == '__main__':

    a = ia(0., 100.)
    b = ia(50., 150.)
    c = a & b

    self = Hull()
    #goal = lp.Goal.eq(self.lwl, ia(2000.,300000.))
    #self.state = goal(self.state)[0]
    self.vol = ia(2000., 300000.)
    self.lwl = ia(120., 120.)
    self.bwl = ia(20., 20.)
    #self.Cb = ia(.5,.7)
    self.draft = ia(20., 20.)
    self.Cwp = ia(.2, .4)
    self.Cmidshp = ia(.7, .99)
    self.dsmax = ia(25., 35.)
    print self.state
Ejemplo n.º 10
0
if __name__ == '__main__':
    X, sp = test_problem1()
    x1 = X[0][0]
    x2 = X[1][0]
    self = sp
    #"""
    self.compute_subpaving()
    self.plot_subpaving()
    for i, el in enumerate(self.boundary):
        F = self.f(el())
        F.name = 'Minimum {}'.format(i)
        F.print_components()

        print 'at min location:'
        print el()

    X1 = ad(ia(-4., 2.), name='X1', N=2, dim=0)
    X2 = ad(ia(-2., 4.), name='X2', N=2, dim=1)
    #"""
    """
    #X1 = ad(ia(-11.,14.), name = 'X1', N=2, dim = 0)
    #X2 = ad(ia(-14.,12.), name = 'X2', N=2, dim = 1)
    #X1 = ad(ia(-.11,.14), name = 'X1', N=2, dim = 0)
    #X2 = ad(ia(-.14,.12), name = 'X2', N=2, dim = 1)
    #C = ad( ia(-20.,20.), name = 'h0', N=2, dim = -1)
    func = thcf
    tol = 1.e-10
    Bspline_style = True
    V = [[X1],[X2]]
    #"""
if __name__ == "__main__":
    # TLM B-Spline Curve class
    import curve as spline

    from initialValues import InitializeControlPoints, InitializeControlVertices
    import copy
    from ADILS import IntervalLagrangeSpline, Lagrangian
    from FormParameter import FormParameterDict
    from initialValues import interval_bounds, lagrangian_bounds
    option = 'ini_test'
    test = None
    test = 'SAC'  # this one makes the run plot with free stern tube
    do_all = False

    voldisp = ia(34196.3123868, 34196.3174777).getpoint(.5)
    Amsh = ia(440.441841483, 440.447841483).getpoint(.5)
    lwl = ia(113.978485473, 113.984485473).getpoint(.5)
    #
    lfsac = ia(10.5364794686, 10.5424794686).getpoint(.5)
    LCG = ia(56.1860734432, 56.1920734432).getpoint(.5)
    #
    lfwl = ia(14.0303648233, 14.0363648233).getpoint(.5)
    lfcp = ia(11.3864366677, 11.3924366677).getpoint(.5)
    #
    draft = ia(18.4490277827, 18.4550277827).getpoint(.5)
    beam = ia(27.092071177, 27.098071177).getpoint(.5)

    BulbVolume = ia(7.39104381671, 7.39110381671).getpoint(.5)
    A_mid = ia(20.4224589012, 20.4225189012).getpoint(.5)
    A_lateral = ia(24.2218639047, 24.2219239047).getpoint(.5)
Ejemplo n.º 12
0
def test_problem2():
    X1 = ad(ia(-2., 4.), name='X1', N=2, dim=0)
    X2 = ad(ia(-4., 2.), name='X2', N=2, dim=1)
    X = [[X1], [X2]]
    sp = UnconstrainedPaver(thcf, X, tol=1.e-6)
    return
            print ''
            print el[0]
            print el[1]
        return


if __name__ == '__main__':

    def func1(X):

        x = X[0]
        y = X[1]
        return (x[0]**2 + y[0]**2)  # * x[0].exp()
        #return (x[0]**2 + x[1]**2 + y[0]**2 + y[1]**2)

    x = ad(ia(-10., 10.), N=2, dim=0)
    y = ad(ia(-10., 10.), N=2, dim=1)
    X = [[x], [y]]

    x = ad(ia(0.1, 0.3), name='x', N=2, dim=0)
    y = ad(ia(0.1, 0.3), name='x', N=2, dim=1)
    X1 = [[x], [y]]
    #C = ad(ia(.9,1.1), N=2, dim = -1)
    #C = ad(ia(4.7,5.3), N=2, dim = -1)
    C = ad(ia(4.0, 5.9), N=2, dim=-1)
    #C = ia(ia(0.,2.)
    sp1 = SimplePaver(func1, X, C)
    self = sp1

    sp1.compute_subpaving()
    sp1.plot_subpaving()
            lwl: None,
            bwl: None,
            Awp: None,
            Amsh: None,
            Cwp: None,
            Cmidshp: None,
            Cp: None
        })

    #s = lp.Goal.eq(lpp,  ia(100.,120.)  )(s)[0]
    #s = lp.Goal.eq(lpp, 120.)(s)[0]
    #s = lp.Goal.eq(br, ia(30.,50.)      )(s)[0]#(s[0])#(s)#
    #s = lp.Goal.eq(br, ia(1.,218.75) )(s)[0]
    #s = lp.Goal.eq(br, 30.)(s)[0]

    s = lp.Goal.eq(vol, ia(2000., 300000.))(s)[0]
    s = lp.Goal.eq(Cb, ia(.5, .7))(s)[0]

    s = lp.Goal.eq(lwl, ia(120., 120.))(s)[0]
    s = lp.Goal.eq(bwl, ia(20., 20.))(s)[0]
    s = lp.Goal.eq(draft, ia(20., 20.))(s)[0]

    s = lp.Goal.eq(Cwp, ia(.2, .4))(s)[0]
    #s = Block_Coefficient_long(lpp,br,draft,vol,Cb,s)
    #

    s = lp.Goal.eq(Cmidshp, ia(.7, .99))(s)[0]
    s = lp.Goal.eq(dsmax, ia(25., 35.))(s)[0]

    #s = lp.Goal.eq(Cp,  ia(.01,.99) )(s)[0]