6. 更新履歴

6.1. [1.0.1] - 2019-07-01

Fixed:
  • PYSIMPLE-104:目的関数に与えていない変数の初期値が変わる

    一部を目的関数に与えた変数のうち,与えていない部分の値が変わる不具合を修正しました.:

    >>> p = Problem()
    >>> i = Element(value=[1,2], name='i')
    >>> x = Variable(index=i, lb=1, init=2, name='x')
    >>> x.val
    x[1].val=2
    x[2].val=2
    >>> p += x[2]
    >>> p.solve(silent=True)
    1
    >>> x.val
    x[1].val=2  # 2 のままになるようにした
    x[2].val=1.0000000002083331
    
  • PYSIMPLE-117:範囲演算における戻り値のインデックス順

    範囲演算における戻り値のインデックス順を出現順にしました.:

    >>> ij = Element(value=[(1,3), (1,4), (2,3)], name='ij')
    >>> i = Element(set=ij.set(0), name='i')
    >>> j = Element(set=ij.set(1), name='j')
    >>> y = Variable(index=(i,j), name='y')
    >>> y[i,j] = 10*i+j
    >>> y.val
    y[1,3].val=13
    y[1,4].val=14
    y[2,3].val=23
    y[2,4].val=24
    >>> Sum(y[ij(0),j], ij(0)).index
    Index(ij(1),j)  # 以前は (j,ij(1)) だった
    >>> Sum(y[ij(0),j], ij(0))
    Sum(y[ij(0),j], ij(0)):
    y[1,3]+y[2,3]
    y[1,4]+y[2,4]
    y[1,3]
    y[1,4]
    >>> Sum(y[ij(0),j], ij(0)).val
    Sum(y[ij(0),j], ij(0))[3,3].val=36
    Sum(y[ij(0),j], ij(0))[3,4].val=38
    Sum(y[ij(0),j], ij(0))[4,3].val=13
    Sum(y[ij(0),j], ij(0))[4,4].val=14
    
  • PYSIMPLE-119:範囲関数の範囲に空集合が含まれていたときの値

    挙動を SIMPLE に合わせました.:

    >>> i0 = Element(value=[], name='i0')
    >>> i1 = Element(value=[1], name='i1')
    >>> y = Variable(index=(i0,i1), name='y')
    >>> Sum(y[i0,i1], i0)
    Sum(y[i0,i1], i0):
    0
    >>> Sum(y[i0,i1], i1)
    Sum(y[i0,i1], i1):
    # 空の式が返るようにした
    >>> Sum(y[i0,i1], (i0,i1))
    Sum(y[i0,i1], (i0,i1)):
    0
    
  • PYSIMPLE-125:Parameter を含むアクセスをした式の表示

    少し複雑なアクセスを含む式の表示がおかしくなる不具合を修正しました.:

    >>> i = Element(value=[1,2,3], name='i')
    >>> x = Variable(index=i, name='x')
    >>> t = Element(value=[1,2], name='t')
    >>> x[t]
    x:
    x[1]
    x[2]
    >>> x[t+1]
    x[(t+1)[t]]:
    x[(t+1)[t]][1]
    x[(t+1)[t]][2]
    >>> x[t+1]+1
    (x[(t+1)[t]][t]+1):
    x[2]+1
    x[3]+1
    >>> x[t] + x[t+1]
    (x[t]+x[(t+1)[t]][t]):
    x[1]+x[2]
    x[2]+x[3]
    >>> x[t+1] + x[t]
    (x[(t+1)[t]][t]+x[t]):
    x[1]+x[2]
    x[2]+x[3]
    

6.2. [1.0.0] - 2019-03-08

リリース