美文网首页
如何在GAMS中将Table的一部分数据赋给另一个paramet

如何在GAMS中将Table的一部分数据赋给另一个paramet

作者: 柯西盗耳 | 来源:发表于2019-07-24 00:11 被阅读0次

1. 问题描述

假设有A是10行5列的parameter,B是一个100行5列的Table:

Set 
i /i1*i10/
j /j1*j100/
c /c1*c5/;

Parameter
A(i,c);

Table B(j,c)
    c1    c2   c3   c4   c5
j1   1     2    3    4    5
j2   6     7    8    9   10
j3  11    12   13   14   15
..;

问题是如何将B中连续的10行(比如前10行)数据赋给A。

2. 解决方法

方法1

可以用loop方法来完成:

loop((i,j) $ (ord(j)=ord(i)),
A(i,c)=B(j,c);
);

方法2

将A的维数扩展到B的维数

Parameter A(j,c);
A(j, c)$(ord(j) lt 11) =  B(j, c);

但是这种方法会导致A中出现很多0元素,导致存储资源的浪费。

方法3

定义子集的方法:

Set i(j) /j1*j10/;
Parameter A(i, c);
A(i, c) = B(i, c);

相关文章

  • 如何在GAMS中将Table的一部分数据赋给另一个paramet

    1. 问题描述 假设有A是10行5列的parameter,B是一个100行5列的Table: 问题是如何将B中连续...

  • flink类型系统TypeIinformation

    DataType DataType:flink table的基本数据类型其子类继承关系: 其中将java的基本数据...

  • go slice append

    go slice append 切片的底层是一个数组,如果截取切片的一部分赋给另一个切片,那这两个切片的数据其实指...

  • Element UI:table默认选中

    给el-table添加ref,table的数据刚开始是空的,所以需要监听tableDate的数据变化,数据变化后,...

  • 表操作

    创建表 关键字:CREATE TABLE。 如: CREATE TABLE 后跟的是表名,() 中是列名,列的数据...

  • Lua table(表)

    table 是 Lua 的一种数据结构用来帮助我们创建不同的数据类型,如:数字、字典等。 Lua table 使用...

  • EMACS 学习历程

    需求驱动,需要在MAC上使用GAMS,但是GAMS本身不提供像WIN平台那样的IDE,所以就要使用EMACS作为编...

  • GAMS

    验证模型正确性 运算求解唯一:出现 "optimal solution"唯一解 方程数=变量数这里有7个变量被设置...

  • lua表(table)

    table 是 Lua 的一种数据结构用来帮助我们创建不同的数据类型,如:数组、字典等。Lua table 使用关...

  • 05 - 隐式和显示类型

    自动类型转换(也称为“隐式类型转换): 当把小数据范围类型的数值或变量赋给另一个大数据范围类型变量,系统可以完成自...

网友评论

      本文标题:如何在GAMS中将Table的一部分数据赋给另一个paramet

      本文链接:https://www.haomeiwen.com/subject/ayozlctx.html