## ALO_algorithm_for_Kidney_Exchanges
<p align="justify">
Ant Lion Optimization is a bio-inspired stochastic-based algorithm that mimics the hunting behavior of ant lions when catching its preferable prey, i.e. ants. We used ALO algorithm to solve an optimization problem called Kidney Exchanges or Kidney Paired Donation, KPD. In the kidney exchange problem, patients with end-stage renal disease have relatives that are willing to donate their kidney but they have incompatible blood/tissue types. These patients constitute donor-patient couples and create a pool of pairs that are able to exchange their kidneys based on their blood/tissue type's compatibility.</p>
<p align="justify">
Having a set of incompatible pairs, there is a possibility that a donor of a pair <b> <i> i </i> </b> is compatible with the patient of a pair <b> <i>j</i> </b> and vice versa. This case achieves mutual benefits among donor-patient pairs. The goal of ALO kidney exchange program is maximizing the number of possible matches (feasible cycles and chains) among the incompatible pairs in a given pool, and hence enhancing the success of kidney transplantation through living donors.</p>
<p align="justify">
Ant Lion Optimization algorithm can be adopted easily for on-line exchanges and the integration of weights for hard-to-match patients, which will improve the future decisions of kidney exchange programs.</p>
<br>
<b>Copyright (C) 2017-2018, and GNU GPL, by Eslam Hamouda, Sara El-Metwally, and Mayada Tarek.</b>
## System requirements
32-bit/64-bit Windows machine with MATLAB 2010a or higher.
## Quick usage guide
1. Clone the [GitHub repo](https://github.com/SaraEl-Metwally/ALO_algorithm_for_Kidney_Exchanges), e.g. with:
> `git clone https://github.com/SaraEl-Metwally/ALO_algorithm_for_Kidney_Exchanges.git`
2. Run using MATLAB `ALO_toolbox.m` in the repo directory.
- The following window will appear to you!
<img src="https://github.com/SaraEl-Metwally/ALO_algorithm_for_Kidney_Exchanges/blob/master/Snapshots/image(1).png" class="centerImage" width="750" height="450"/>
3. You have two options:
- Option 1: create a new KPD pool randomly and this will generate the following graph:
- Each number represents patient/donor pairs , and red numbers denote altruistic donors.
- Arcs represent the compatibility information between the nodes (i.e. pairs).
- The bi-directional arcs drew by a black color.
- An arc from n to m where n > m drew by a red color.
- An arc from n to m where n < m drew by a blue color.
<img src="https://github.com/SaraEl-Metwally/ALO_algorithm_for_Kidney_Exchanges/blob/master/Snapshots/image(2).png" class="centerImage" width="750" height="450"/>
- Option 2: load a KPD pool that previously generated from a simulation step.
- To load your simulated data correctly, you should have two files: `Alt.txt` and `Edges.txt`.
- File `Alt.txt` contains the altruistic donors information.
- File `Edges.txt` contains the compatibility information represented by edges.
<img src="https://github.com/SaraEl-Metwally/ALO_algorithm_for_Kidney_Exchanges/blob/master/Snapshots/image(5).png" class="centerImage" width="750" height="450"/>
<img src="https://github.com/SaraEl-Metwally/ALO_algorithm_for_Kidney_Exchanges/blob/master/Snapshots/image(6).png" class="centerImage" width="750" height="450"/>
4. All extracted chains and cycles from a KPD pool generated from <b> step no. 3 </b> are shown in a list box entitled `All cycles and chains `.
<img src="https://github.com/SaraEl-Metwally/ALO_algorithm_for_Kidney_Exchanges/blob/master/Snapshots/image(7).png" class="centerImage" width="750" height="450"/>
5. Set ALO population size,`Pop. Size` , and the maximum number of iterations, `Generatio`.
6. Press `Run ALO` button to start the optimization process and find the maximum number of possible exchanges among the pool pairs.
<img src="https://github.com/SaraEl-Metwally/ALO_algorithm_for_Kidney_Exchanges/blob/master/Snapshots/image(3).png" class="centerImage" width="750" height="450"/>
<img src="https://github.com/SaraEl-Metwally/ALO_algorithm_for_Kidney_Exchanges/blob/master/Snapshots/image(8).png" class="centerImage" width="750" height="450"/>
7. The total number of exchanges/ matches returned by ALO is shown in the field entitled `The current fitness`.
8. The total number of exchanges/ matches returned by ALO followed by the post-processing step is shown in the field entitled `Number of matched`.
9. The resulting exchanges/ matches is listed in a list box entitled `Solution`.
10. If the resulting solution is non feasible (a solution contains nodes that are involved in multiple exchanges), the `Number of matched` will be displayed as `Infeasible Solution!`.
<img src="https://github.com/SaraEl-Metwally/ALO_algorithm_for_Kidney_Exchanges/blob/master/Snapshots/image(4).png" class="centerImage" width="750" height="450"/>
没有合适的资源?快使用搜索试试~ 我知道了~
用于肾脏交换的 Ant Lion 优化算法_java_代码_下载
共49个文件
m:12个
java:10个
png:8个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 46 浏览量
2022-06-22
01:50:37
上传
评论
收藏 889KB ZIP 举报
温馨提示
蚁狮优化是一种受生物启发的基于随机算法的算法,它模仿蚁狮在捕捉其偏好的猎物(即蚂蚁)时的狩猎行为。我们使用 ALO 算法来解决称为肾脏交换或肾脏配对捐赠 (KPD) 的优化问题。在肾脏交换问题中,患有终末期肾病的患者有亲属愿意捐献肾脏,但他们的血液/组织类型不相容。这些患者构成供体-患者夫妇,并创建一组能够根据血液/组织类型的相容性交换肾脏的对。 有一组不相容的配对,有可能配对 i 的供体与配对j的患者相容,反之亦然。该案例实现了供者-患者对之间的互惠互利。ALO 肾脏交换计划的目标是最大化给定池中不相容对之间的可能匹配(可行循环和链)的数量,从而提高通过活体供体进行肾移植的成功率。 更多详情、使用方法,请下载后阅读README.md文件
资源推荐
资源详情
资源评论
收起资源包目录
ALO_algorithm_for_Kidney_Exchanges-master.zip (49个子文件)
ALO_algorithm_for_Kidney_Exchanges-master
graph.mat 685B
Simulation-UNOS
75
Edges 2KB
Alt 150B
100
Edges 5KB
Alt 200B
40
Edges 1KB
Alt 80B
30
Edges 509B
Alt 60B
50
Edges 1KB
Alt 100B
200
Edges 18KB
Alt 400B
Next_walk.m 958B
ALO_toolbox.fig 37KB
Get_data.m 2KB
Get_All_chain_cycles.m 8KB
Snapshots
image(2).png 43KB
image(8).png 112KB
image(4).png 45KB
image(5).png 27KB
image(6).png 27KB
image(1).png 19KB
image(7).png 110KB
image(3).png 44KB
gplotd.m 2KB
Saidman Generator Simulation
Vertex.java 2KB
jgrapht-0.8.2.jar 234KB
VertexAltruist.java 829B
junit-4.7.jar 227KB
Edge.java 428B
Pool.java 27KB
SaidmanPoolGenerator.java 11KB
PoolGenerator.java 740B
Cycle.java 4KB
KidenyExchangeProgramGeneratorTest.java 3KB
README.md 3KB
VertexPair.java 2KB
BloodType.java 2KB
LICENSE 34KB
Check_rep.m 1KB
ALO.m 7KB
CrossOver.m 771B
KPD.m 3KB
Load_data.m 2KB
RWS.m 1KB
Initialize.m 1KB
README.md 5KB
ALO_toolbox.m 20KB
共 49 条
- 1
资源评论
快撑死的鱼
- 粉丝: 1w+
- 资源: 9152
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功