0

次のような線形計画問題を生成するプログラムを作成しようとしています

min cx
s.t. Ax=b
x>=0

しかし、プログラムがメッセージを警告する問題が発生します

"File"/tmp/tmpgX7_hI/___code___.py", line 3, in <module> class LP:"
"File"/tmp/tmpgX7_hI/___code___.py", line 4, in LP c=matrix()"
"TypeError: _new_() take at least 2 arguments (1 given)"

これは私の間違いで、どうすれば修正できますか? お願いします!!!

Program
    class LP:
        c=matrix()
        A=matrix()
        b=matrix()
        def__init__(self,cvector,Amatrix,bvector):
            self.c=cvector
            self.A=Amatrix
            self.b=bvector
#----------------------------------------------------------------------
    import random 
    colc=[]colAmatrix=[]
    colb=[]
    LP_GEN=[]
    for m in range(2,5):
        for n in range(2,5):
            for k in range(2):
                c=matrix(1,n)
                for i in range(n):
                c[0,i]=random.randint(-50,50)
                b[0,i]=random.randint(-50,50)
                A[0,i]=random.randint(-50,50)
LP_GEN.append(LP(c,A,b))
4

2 に答える 2

1

問題は、matrixクラスのインスタンスを作成する方法です。あなたはこれをやっています:

c=matrix()

しかし、それは次のようなものでなければなりません:

c=matrix(ARGUMENTS_HERE)

create に必要な引数に応じてmatrix

于 2013-07-28T17:16:52.767 に答える
1

クラス定義では、 を使用しますmatrix()。ただし、少なくとも 1 つのデータを渡す必要があります。あなたが望むかもしれないと思います:

class LP:
    def__init__(self,cvector,Amatrix,bvector):
        self.c=matrix(cvector)
        self.A=matrix(Amatrix)
        self.b=matrix(bvector)

、、cvectorは配列または文字列Amatrixでなければなりません。bvectorちなみに、matrix(1, n)エラーにもなります。

于 2013-07-28T17:18:16.890 に答える