Matrix 4x4

62 views
Skip to first unread message

Mifthahul Janna Rosyid

unread,
Nov 29, 2023, 10:22:44 PM11/29/23
to AMPL Modeling Language
Hi, i got confused how to write the matrix 4x4 on my data in ampl software. Would you mind help by given some example
.function a.png
the cost(ijkt) stands for cost  transportation  of commodity k from node i to node j in month t and the F(ijkt) stands for  flow of commodity k from node i to node j in month t (metric ton)

Sarah O

unread,
Nov 30, 2023, 9:23:12 AM11/30/23
to AMPL Modeling Language
Hi
Do you mean 4x4 matrix or you mean a 4-dimensional matrix. I think you mean the latter.
Here is how if I understood correctly:

#data file, change values below as you want
param nK:= 3; #number of commodoties
param nN:= 4; #number of nodes
param nT:= 8; #number of time instances/values

#model file
param nK>=0;
param nN>=0;
param nT>=0;

set K:= 1..nK;
set N:= 1..nN;
set T:= 1..nT;


param cost{i in N, j in N, k in K, t in T} >=0;
var F{i in N, j in N, k in K, t in T} >=0 binary;
var FCR>=0;

#objective function here

#constraints here

since the equation for the objective is fractional you need to manipulate it. I had a similar issue so I cross-multiplied so you will have
FCR x sum{F_ijkt} = sum{cost_ijkt}x  F_ijkt
The left hand side of the equation is then quadratic where you multiply two variables (I assumed the F_ijkt is binary indicating if the i,j path is used, this also makes the model easier). Look for the linearization of a product of a binary variable times a coninuous variable and then add your remaining constraints and you should be able to complete it.


All the best. 

Mifthahul Janna Rosyid

unread,
Dec 21, 2023, 1:03:02 PM12/21/23
to AMPL Modeling Language
sorry for the misunderstanding. i am confused in writing the parameter F_ijkt in ampl data. Since i know F_ijkt has four set : i, j, k, and t.

AMPL Google Group

unread,
Dec 26, 2023, 5:21:31 PM12/26/23
to AMPL Modeling Language
There are several ways to specify "four-dimensional" data for a parameter that is indexed over four sets. They are described in two sections of the AMPL book:
If you try one of these ways, and run into trouble, you can post a question here. Be sure to show the table that you have written and the text of all error messages.


--
Robert Fourer

We're switching to a new, enhanced user forum.
Join it now at discuss.ampl.com.
{#HS:2437571540-120906#}
On Thu, Dec 21, 2023 at 6:03 PM UTC, AMPL Modeling Language <am...@googlegroups.com> wrote:
sorry for the misunderstanding. i am confused in writing the parameter F_ijkt in ampl data. Since i know F_ijkt has four set : i, j, k, and t.

Reply all
Reply to author
Forward
0 new messages