我是Scilab的新手,我打算用它来做线性编程。我用Google搜索并找到了这段代码:
Aeq = [
2 0 6
0 3 5
];
beq = [8;15;30];
c = [30;50];
[xopt]=karmarkar(Aeq,beq,c);
但似乎karmarkar存在问题。谁能告诉我如何解决我的问题?我尝试使用help karmarkar
,因为我认为它可能与Matlab相同,但它不起作用。
答案 0 :(得分:1)
参数Aeq
和beq
表示线性相等约束。 Aeq
的每一行都有一个等式的系数,beq
的相应行是右边的一行。因此,Aeq
和beq
中的行数必须相同。
此外,c
的行数必须等于您拥有的变量数,在本例中为3。
总结:当你有m个约束和n个变量时,矩阵有以下大小:
Aeq
是m by n beq
是1乘c
是n乘1 工作示例:
Aeq = [
2 0 6
0 3 5
]
beq = [8;15]
c = [30;50;70]
[xopt]=karmarkar(Aeq,beq,c)