help-glpk
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Help-glpk] Condensing a sparse matrix by creating a subset of param


From: Meketon, Marc
Subject: Re: [Help-glpk] Condensing a sparse matrix by creating a subset of parameter data
Date: Thu, 31 Mar 2016 09:10:57 -0500

Are you looking for something like the below that finds the subset of nodes being used?

 

set nodes := {"A", "B", "C", "D", "E"};

set arcs within nodes cross nodes := {("A","B"), ("B","E")};

 

display nodes;

display arcs;

 

set nodes_that_are_used :=

  setof{tail_node in nodes, head_node in nodes : (tail_node, head_node) in arcs } tail_node

  union

  setof{tail_node in nodes, head_node in nodes : (tail_node, head_node) in arcs } head_node;

     

display nodes_that_are_used;

 

end;

 

From: help-glpk-bounces+address@hidden [mailto:help-glpk-bounces+address@hidden On Behalf Of Abhishek Shivakumar
Sent: Thursday, March 31, 2016 9:18 AM
To: address@hidden
Subject: [Help-glpk] Condensing a sparse matrix by creating a subset of parameter data

 

Hi,

 

I have an lp model that produces an extremely sparse constraint matrix. I would like to reduce the number of non-zero entries in this matrix (make the matrix more dense). The main cause of this sparse-ness is the relation between two parameters. They can be seen as ‘arcs’ and ‘nodes: not all nodes have arcs between them. Is there a way to create a subset of parameter data from the sets ‘arcs’ and ‘nodes’ based on whether they are connected? I would then be able to apply constraints only for this subset. In other languages (such as python) such an operation is possible through nested conditional statements. Is there a similar/equivalent approach in glpk/GNU mathprog?

 

Thanks!

Abhishek

 



This e-mail and any attachments may be confidential or legally privileged. If you received this message in error or are not the intended recipient, you should destroy the e-mail message and any attachments or copies, and you are prohibited from retaining, distributing, disclosing or using any information contained herein. Please inform us of the erroneous delivery by return e-mail. Thank you for your cooperation.

reply via email to

[Prev in Thread] Current Thread [Next in Thread]