Tuple

class Tuple

An object of this class represent an AMPL tuple. It can be used as an index for accessing instances for entities indexed over multiple sets or to assigning values to multidimensional sets (sets of tuples).

It offers a nice visual representation of a Tuple, although since all the methods of the AMPL API to gain access to instances and to assign data to sets accept cell arrays as well as Tuple structures, its use is somewhat limited.

Tuple

classmethod Tuple.Tuple()

Syntax

t = Tuple(elements)

Description

t = Tuple(elements) is the constructor for the Tuple structure.

Input Arguments

elements

A cell array containing the elements to be placed in the Tuple

Output Arguments

t

The created Tuple

Example

Create a tuple of three elements and assign it to a three dimensional set.

  ampl.eval('set A dimen 3;');
  t = Tuple({'a', 1, '2'})
  A = ampl.getSet('A');
  A.arity
  A.setValues(t)
  A.get()

gives::

  ans =
   set A = {('a',1.0,2.0)};

elements

classmethod Tuple.elements()

Syntax

t = elements()

Description

t = elements() returns the elements in the tuple

Output Arguments

t

The elements in the tuple as a Java array

Example

Create a tuple and get its elements back. Uses the cell function to convert the Java array to a MATLAB cell array.

  t = Tuple({'a', 1, '2', 2.0});
  javaArray = t.elements
  matlabArray = cell(javaArray)


gives::

  javaArray =
  java.lang.Object[]:
   'a'
   [1]
   '2'
   [2]

  matlabArray =
   'a'
   [1]
   '2'
   [2]

size

classmethod Tuple.size()

Syntax

s = size()

Description

s = size() returns the number of elements in the tuple

Output Arguments

s

The number of elements in the tuple

Example

Create a tuple and get the number of elements.

  t = Tuple({'a', 1, '2', 2.0});
  t.size

gives::

  ans =
  4