Skip to content
Snippets Groups Projects
Commit 2c225d38 authored by msurl's avatar msurl
Browse files

update

parent 6ba2a45e
No related branches found
No related tags found
No related merge requests found
......@@ -148,3 +148,48 @@ pages = {27–36},
numpages = {10},
keywords = {subtour elimination constraints, vehicle routing problem, facets, lifting, traveling salesman problem}
}
@article{bio_netw,
author = {Conn, Adam and Pedmale, Ullas and Chory, Joanne and Navlakha, Saket},
year = {2017},
month = {07},
pages = {53-62.e3},
title = {High-Resolution Laser Scanning Reveals Plant Architectures that Reflect Universal Network Design Principles},
volume = {5},
journal = {Cell Systems},
doi = {10.1016/j.cels.2017.06.017}
}
@article{bio_nutrient,
author = {Posada, Juan and Sievänen, Risto and Messier, Christian and Perttunen, Jari and Nikinmaa, Eero and Lechowicz, Martin},
year = {2012},
month = {06},
pages = {731-41},
title = {Contributions of leaf photosynthetic capacity, leaf angle and self-shading to the maximization of net photosynthesis in Acer saccharum: a modelling assessment},
volume = {110},
journal = {Annals of botany},
doi = {10.1093/aob/mcs106}
}
@article{bio_veinh,
author = {Sack, Lawren and Scoffoni, Christine},
year = {2013},
month = {04},
pages = {},
title = {Leaf venation: Structure, function, development, evolution, ecology and applications in the past, present and future},
volume = {198},
journal = {The New phytologist},
doi = {10.1111/nph.12253}
}
@bachelorsthesis{myky,
author={Hyunh, My Ky},
title={Solving Dominating Set Using Answer Set Programming},
school={Heinrich Heine University Düsseldorf},
year={2020},
month={February}
}
@misc{klau,
title={Solving the Maximum-Weight Connected Subgraph Problem to Optimality},
author={Mohammed El-Kebir and Gunnar W. Klau},
year={2014},
eprint={1409.5308},
archivePrefix={arXiv},
primaryClass={cs.DS}
}
This diff is collapsed.
......@@ -47,6 +47,12 @@
\usepackage[colorlinks,citecolor=blue,linkcolor=black]{hyperref}
%anklickbares Inhaltsverzeichnis
\usepackage{array}
\newcolumntype{P}[1]{>{\centering\arraybackslash}p{#1}}
\usepackage{float}
\usepackage{listings}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage[ruled,vlined,linesnumbered]{algorithm2e}
......@@ -58,7 +64,7 @@
\ifthenelse{\boolean{\biber}}{
% only needed for biber
\usepackage[style=authoryear,natbib=true,backend=biber,mincitenames=1,maxcitenames=2,maxbibnames=99,uniquelist=false,dashed=false]{biblatex}
\usepackage[style=numeric,natbib=true,backend=biber,mincitenames=1,maxcitenames=2,maxbibnames=99,uniquelist=false]{biblatex}
% https://tex.stackexchange.com/a/334703/8850
\AtEveryBibitem{%
......@@ -270,7 +276,7 @@ Düsseldorf, den \abgabedatum \hspace*{2cm} & \underline{\hspace{6cm}}\\
\clearpage
\begin{titlepage}
\input{summary}
\input{abstract}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
......
......@@ -8,6 +8,7 @@ package:
source:
path: ..
# path: 'https://gitlab.cs.uni-duesseldorf.de/albi/albi-students/bachelor-mario-surlemont/-/tree/draft/python/conda%20package/k_hop_dominating_set_gurobi'
build:
# If the installation is complex, or different between Unix and Windows, use
......@@ -49,7 +50,7 @@ test:
- pytest tests
about:
home: https://github.com/mario.surlemont@uni-duesseldorf.de/k_hop_dominating_set_gurobi
home: https://gitlab.cs.uni-duesseldorf.de/albi/albi-students/bachelor-mario-surlemont
summary: A set of python scripts to solve k hop dominating set variants using ILP and gurobi as MIP solver
license: {{ data['license'] }}
license_file: LICENSE
......@@ -2,6 +2,7 @@ from argparse import ArgumentParser
from k_hop_dominating_set_gurobi import __version__
from k_hop_dominating_set_gurobi import k_hop_dom_set
from k_hop_dominating_set_gurobi import lp_to_nx_graph
import networkx as nx
def cli(args=None):
p = ArgumentParser(
......@@ -21,19 +22,59 @@ def cli(args=None):
)
p.add_argument(
'-g', '--graph',
help="input graph as .lp file")
help="input graph as .graphml file")
p.add_argument(
'-mtz',
action='store_true',
help='use Miller-Tucker-Zemlin constraints to ensure connectivity (default is a lazy approach using vertex separators)')
p.add_argument(
'-imn',
action='store_true',
help='use intermediate node constraint to shrink space of feasible solutions. Might exclude optimal solutions.')
p.add_argument(
'-rpl',
action='store_true',
help='use constraint to reduce path length from the root to each node by the size of the solution to shrink space of feasible solutions.)')
p.add_argument(
'-gaus',
action='store_true',
help='use constraint to reduce path length from the root to each node by a sum using the gaussian sum formula.')
p.add_argument(
'-pre',
action='store_true',
help='preadd vertex separator constraints.')
args = p.parse_args(args)
filename = args.graph
if filename.endswith(".lp"):
G = lp_to_nx_graph.read(args.graph)
elif filename.endswith(".graphml"):
G = nx.read_graphml(args.graph)
elif filename.endswith(".gml"):
G = nx.read_gml(args.graph)
else:
return 1
additionalConstraints = []
if args.imn:
additionalConstraints.append(k_hop_dom_set.AdditionalConstraint.INTERMEDIATE_NODE_CONSTRAINT)
if args.rpl:
additionalConstraints.append(k_hop_dom_set.AdditionalConstraint.SIMPLE_PATH_LENGHT_CONSTRAINT)
if args.gaus:
additionalConstraints.append(k_hop_dom_set.AdditionalConstraint.GAUSSIAN_SUM_FORMULA)
if args.pre:
additionalConstraints.append(k_hop_dom_set.AdditionalConstraint.PREADD)
if args.mtz:
ds = k_hop_dom_set.RootedConnectecKHopDominatingSet(G, args.k, constraints = k_hop_dom_set.ConnectivityConstraint.MILLER_TUCKER_ZEMLIN)
ds = k_hop_dom_set.RootedConnectecKHopDominatingSet(G, args.k, constraints = k_hop_dom_set.ConnectivityConstraint.MILLER_TUCKER_ZEMLIN, additionalConstraints = additionalConstraints)
else:
ds = k_hop_dom_set.RootedConnectecKHopDominatingSet(G, args.k)
ds = k_hop_dom_set.RootedConnectecKHopDominatingSet(G, args.k, additionalConstraints = additionalConstraints)
ds.solve_and_draw()
......
......@@ -3,8 +3,16 @@ import versioneer
requirements = [
# package requirements go here
# 'gurobipy',
'networkx',
# 'matplotlib.pyplot'
'matplotlib'
]
#links = [
# 'https://www.gurobi.com/downloads/'
#]
setup(
name='k_hop_dominating_set_gurobi',
version=versioneer.get_version(),
......@@ -27,4 +35,5 @@ setup(
'Programming Language :: Python :: 3.6',
'Programming Language :: Python :: 3.7',
]
# dependency_links=links
)
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment